一个进程可以通过对signal来调用来处理其他进程发送的信号。同样一个进程也可以向其他进程发送信号。
发送信号是通过kill函数来实现的。
int kill(pid_t pid, int sig);
PID:指明了信号发送对象。它可以是某个进程的进程标示符,也可以是以下的值:
pid=0:说明signal是发送给当前进程所在进程组的所有进程。
pid=-1:说明signal按照进程标示符从高到底 的顺序发送给全部进程
pid<-1:说明signal是发送给标示符为pid绝对值的进程组中的所有进程。
限制:
一个进程并不是向任何进程均能发送信号的。这里有个限制:普通用户的进程只能向和其拥有相同
用户标示符的的进程发送signal.也就说一个用户进程不能向另一个用户进程的发送信号。只有root
用户的进程可以给任何发送。
由于kill发送signal需要知道pid,所以一般只在关系亲密的进程中发送,例如父子进程。