apue
文章平均质量分 59
zhangtufei
这个作者很懒,什么都没留下…
展开
-
apue第三版P106:ftw程序中使用的path_alloc
以前看apue时一直用c艹写书中的代码,没有用过apue.h,所以没发现问题看了一下path_alloc的代码,是用malloc分配内存(c艹实现时直接string+string)纵观整个代码没有发现free?????网上搜了一下也没人说过这个问题static char * fullpath,定义的全局变量,那么在main中ret=myftw(argv[1],myfunc)原创 2015-07-16 07:40:14 · 379 阅读 · 0 评论 -
apue-第十章 信号 笔记
CTRL+c SIGINT 终止CTRL+z SIGTSTP 停止进程SIGCONT 让进程后台继续运行,若改为前台运行,需要waitpid终端KILL指令:kill -s pid 将信号s发送至有pid指定进程kill -l 可看到所有signal的编号(s的取值)exec函数族:关闭设置了执行时关闭标志的文件描述符将所有原先要捕捉的信号都原创 2015-07-28 18:04:36 · 446 阅读 · 0 评论 -
apue 第十二章 线程控制
线程属性:pthread_attr_init(phtread_attr_t *attr)初始化pthread_attr_destroydetachstate:线程的分离状态pthread_attr_getdetachstate(const pthread_attr_t *restrict attr,int *detachstate)获取attr中的分离状态属性参数det原创 2015-07-30 02:17:06 · 548 阅读 · 0 评论 -
apue 第14章 高级I/O
记录锁:fcntl(int fd,int cmd,struct flock *flockptr)cmd:F_GETLK F_SETLK 非阻塞,失败时会立即返回,并设置errno为EACCES EAGAIN F_SETLKW 阻塞式,会在可加锁时返回或者由信号中断记录锁的继承和释放:1、进程终止时,释放所有锁2、进程对文件F设置了锁,那么该进程中任何一个打开了文件F的文原创 2015-07-31 23:26:57 · 360 阅读 · 0 评论 -
apue 第十三章 守护进程
守护进程的编程规则:总体来说:没有控制终端(不会接收到使守护进程终止的信号),那么就要调用setsid使进程成为会话首进程,调用setsid的前提条件是该进程不是进程组组长,因此先fork一次,让父进程退出,子进程继续干活1、调用umask将(继承而来的)创建文件屏蔽字设为一个已知值2、fork,留下子进程,调用setsid。子进程成为孤儿进程,以及会话首进程3、为了防止再次关联终原创 2015-07-31 14:47:07 · 416 阅读 · 0 评论 -
apue 第十五章 进程间通信
管道int pipe(int fd[2]);fd[0]是读端 fd[1]是写端读一个写端已经关闭的pipe时read返回0写一个读端已经关闭的pipe时产生信号SIGPIPE,如果该信号被忽略或者被捕捉从信号处理函数中返回时,wirite返回-1,errno设置为EPIPEFILE *popen(const char *cmdstring,const char *typ原创 2015-08-02 14:28:51 · 340 阅读 · 0 评论 -
apue 第十六章 套接字
int socket(int domain,int type, int protocal)返回套接字的文件描述符domain是套接字的通信域,每个域都有不同的地址格式 AF_INET AF_INET6 AF_UNIX AF_UPSEC AF address family 地址族type是套接字类型 SOCK_DGRAM 数据报SOCK_STREAM 字节流protoc原创 2015-08-03 12:06:50 · 274 阅读 · 0 评论 -
apue 第十七章 高级进程间通信
UNIX域套接字socketpair(int domain,int type,int protocol,int sockfd[2])创建一对无命名相互连接的UNIX域套接字实现管道pipe(int fd[2]):socketpair(AF_UNIX,SOCK_STREAM,0,fd);原创 2015-08-04 17:52:07 · 535 阅读 · 0 评论 -
apue 第十一章 线程
pthread_join(pthread_t tid,void **rval_ptr)old线程创建了new线程,然后调用pthread_join来等待new线程返回,返回值为*rval_ptrapue中提到一个线程的分离状态概念:类比于进程,子进程在退出中,会保留退出状态供父进程调用wait/waitpid获取对于线程,P318:默认情况下,线程的终止状态会保存知道对该线程调用p原创 2015-07-29 16:01:48 · 398 阅读 · 0 评论