
Unix环境高级编程
文章平均质量分 72
iteye_6296
这个作者很懒,什么都没留下…
展开
-
Unix环境高级编程笔记:3、文件I/O
1、文件io需求5个函数 open read write lseek close 这些函数被称为不带缓冲的IO,不带缓冲IO指的是每个read和write都调用内核中的系统调用 只要涉及多个进程间共享资源,原子操作的概念就变的非常重要。 dup、fcntl、sync、fsync、ioctl 2、文件描述符 文件描述符是一个非负整...原创 2013-10-29 10:52:55 · 112 阅读 · 0 评论 -
UNIX网络编程卷一:4 基本套接字编程
1、socket函数 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol);domain参数指明协议族,该参数也往往被称为协议...原创 2013-12-02 10:53:39 · 172 阅读 · 0 评论 -
UNIX网络编程卷一:3 套接字编程简介
1、套接字地址结构 ipv4套接字地址结构 <netinet/in.h> struct in_addr struct sockaddr_in 2、通用套接字地址结构 <sys/socket.h> struct sockaddr 3、值-结果参数 从进程到内核传递套接字地址结构的函数...原创 2013-12-02 09:33:18 · 142 阅读 · 0 评论 -
UNIX网络编程卷一:2传输层:TCP UDP SCTP
1、总图udp是一个简单的、不可靠的数据报协议,而tcp是一个复杂、可靠的字节流协议 TCP的某些特性一旦理解,就很容易编写健壮的客户和服务器程序。 TCP三路握手、TCP连接终止序列、TCP的TIME_WAIT状态套接字层提供的TCP、UDP缓冲机制。 TCP 传输控制协议,TCP是一个面向连接的协议,为用户进程提供可靠的全双工字节流。TCP套接字是一种流套...原创 2013-12-02 09:30:08 · 175 阅读 · 0 评论 -
UNIX系统编程笔记:3 Unix系统中的进程
《UNIX系统编程》第三章 笔记 1、进程标识 UNIX用惟一的被称为进程ID的整数值来标识进程。 每个进程还有一个父进程ID,这个父进程ID最初是创建它的那个进程的进程ID。 如果这个父进程终止,进程就由一个系统进程收养,这样父进程ID就总是标识着一个有效的进程。 getpid和getppid函数分别返回进程ID和父进程ID。pid...原创 2013-11-22 16:06:51 · 142 阅读 · 0 评论 -
Makefile样例
.PHONY:cleanCC=gccCFLAGS=-Wall -gBIN=miniftpdOBJS=main.o sysutil.o session.o ftpproto.o privparent.o str.o tunable.o parseconf.oLIBS=-lcrypt $(BIN):$(OBJS)$(CC) $(CFLAGS) $^ -o $@...原创 2013-11-22 16:05:12 · 109 阅读 · 0 评论 -
UNIX-LINUX编程实践教程笔记:5 学习stty
1、设备就像文件 对unix来说,声卡、终端、鼠标和磁盘文件是同一种对象。在unix系统中,每个设备都被当做一个文件。每个设备都有一个文件名、一个i-节点号、一个文件所有者、一个权限位的集合和最近修改时间。文件有关的所有内容都将运用于终端和其他的设备。 2、设备具有文件名 每个加载到unix机器的设备(终端、打印机、鼠标、磁盘)都通过文件名表示。表示设备的文件名存放...原创 2013-11-22 16:02:17 · 156 阅读 · 0 评论 -
Unix环境高级编程笔记:12、高级IO
1、非阻塞IO 系统调用分成“低速”系统调用和其他系统调用。低速系统调用是可能会使进程永远阻塞的一类系统调用 1)如果某些文件类型(管道、终端设备、网络设备)的数据不存在,则读操作可能会使调用者永远阻塞 2)如果数据不能立即被上述同样类型的文件接受,则写操作也会使调用者永远阻塞。 3)在某种条件发生之前,打开某些类型的文件会被阻塞 4)对已经加上...原创 2013-11-19 19:36:33 · 110 阅读 · 0 评论 -
Unix环境高级编程笔记:13、守护进程
1 守护进程 守护进程也称精灵进程(daemon)是生存期较长的一种进程。它们常常在系统自举时启动,仅在系统关闭时才终止。 因为没的控制终端,所以它们是在后台运行的。 2、守护进程特征 父进程ID为0的各进程通用是内核进程,它们作为系统自举过程中的一部分启动 内核进程是特殊的,通用存在于系统的整个生命周期。它们以超级用户特权运行,无控制终端,无命...原创 2013-11-19 16:04:15 · 97 阅读 · 0 评论 -
Unix环境高级编程笔记:10、信号
信号是软件中断,信号提供了一种处理异步事件的方法。1、信号概念 每个信号都有一个名字,这些名字都以三个字符SIG开头。 SIGABRT是夭折信号,当进程调用abort函数时产生这种信号 SIGALRM是闹钟信号,当由alarm函数设置的计时器超时后产生此信号。 在头<signal.h>中,这些信号都被定义为正整数(信号编号). ...原创 2013-11-14 09:01:47 · 148 阅读 · 0 评论 -
Unix环境高级编程笔记:9、进程关系
1、进程组 #include <unistd.h> pid_t getpgrp(void); 返回值:调用进程的进程组ID 每个进程组都可以有一个组长进程。组长进程标识是,其进程组ID等于其进程ID 组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要在某个进程组中有一个进程存在,则该进程组就存在,这与进...原创 2013-11-12 09:33:27 · 85 阅读 · 0 评论 -
Unix环境高级编程笔记:8、进程控制
1、进程标识符 每个进程都有一个非负整型表示的唯一进程ID。 ID为0的进程通常是调度进程,常常被称为交换进程(swapper)。 ID为1通常是init进程,在自举过程结束时由内核调用。该进程文件在/etc/init #include <unistd.h> gid_t getegid(void); 获取有效用户ID ...原创 2013-11-06 17:05:17 · 102 阅读 · 0 评论 -
UNIX环境高级编程
UNIX环境高级编程 作者: W.Richard Stevens / Stephen A.Rago 出版社: 人民邮电出版社副标题: 第2版译者: 尤晋元 / 张亚英 / 戚正伟 出版年: 2006年页数: 780页定价: 99.00元装帧: 平装ISBN: 9787115147318内容简介 · · · · · ·本书是被誉为UNIX编程“圣经”的Adv...原创 2013-10-31 14:22:24 · 190 阅读 · 0 评论 -
Unix环境高级编程笔记:7、进程环境
1、进程终止 a)进程终止的8种方式 从main返回 调用exit 调用_exit或_Exit 最后一个线程从其启动进程返回 最后一个线程调用pthread_exit 调用abort 接到一个信号并终止 最后一个线程对取消请求做出响应 b)exit函数 ...原创 2013-10-30 15:16:32 · 117 阅读 · 0 评论 -
Unix环境高级编程笔记:5、标准IO库
1、fwide 设置流的定向 #include <stdio.h> #include <wchar.h> int fwide(FILE *fp,int mode); mode参数值为负,fwide试图使指定的流是字节 mode参数值为正,fwide将试图使指定的流是宽定向 mode参数值为0,fwid...原创 2013-10-29 13:01:19 · 126 阅读 · 0 评论 -
Unix环境高级编程笔记:4、文件和目录
1、stat fstat lstat #include <sys/stat.h> int stat(const char * restrict pathname,struct stat *restrict buf); int fstat(int filedes,struct stat *buf); int lstat(const ch...原创 2013-10-29 10:55:15 · 114 阅读 · 0 评论 -
如何学习linux下c语言编程
一、工具的使用1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。 2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。 3、掌握gcc和gdb的基本...原创 2013-12-13 08:55:43 · 214 阅读 · 0 评论