Created 星期四 01 三月 2012
进程
#include<unistd.h>
getpid 获取当前进程号
fork 创建进程,调用一次,返回两次,对父进程返回子进程号,对子进程返回0
第八章
子进程用execlp执行新程序文件,而父进程等待子进程终止,用waitpid.
还有vfork,,调用之后马上调用exec,在exec之前子进程在父空间中运行
用户标识
getuid 用户ID,getgid 组ID
原子操作
由多步组成的操作,要么全部执行,要么不执行。
。任何一个要求多于1个
函数调用的操作都不能成为原子操作,因为在两个函数调用之间,内核有可能会临时挂起该进
程
程序所在地
比如 sar
which sar
防止子进程退出后成为僵死进程
如果不用wait等待子进程返回,则要要处理信号SIGCHLD.
忽略SIGCHLD信号
signal(SIGCHLD,SIG_IGN);
等待信号
sigsuspend( sigmask)设置信号掩码sigmask后挂起进程。
当捕捉到信号处理程序返回时返回,信号掩码被重置为调用该函之前的值。
sigwait(sigmask)要等待在sigmask中的信号,挂起进程,直到出现sigmask中的信号(挂起),返回并删除挂起信号集中该信号。sigwait不改变进程的信号掩码,所以在调用sigwait之前将其阻塞。
网络
IP地址转换
二进制到字符串
inet_ntop
字符串到二进制
inet_pton