1.kill:
kill -l 查看所有信号
man 7 signal 查看man手册信号章节
前32个信号是Unix系统经典信号,与软件,操作系统相关, 后32个是实时信号, 驱动编程时使用
#include <sys/types.h>
#include <signal.h>
int raise(int sig); 向自己发送信号
void abort(void); 向自己发送SIGABRT信号
int kill(pid_t pid, int sig);
pid > 0
sig发送给ID为pid的进程
pid == 0
sig发送给与发送进程同组的所有进程
pid < 0
sig发送给组ID为|-pid|的进程, 并且发送进程具有向其发送信号的权限
pid == -1
sig发送给发送进程有权限向他们发送信号的系统上的所有进程
sig为0时, 用于检测, 特定为pid进程是否存在, 若不存在, 返回-1
若成功,至少一个信号发送成功,返回0, 否则返回-1, 并设置errno
2.alarm:
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
alarm函数用来计时, 计时seconds秒, 返回值是未计时的秒数,比如计时60秒, 已经计时了10秒,
由于某种原因停止计时, 那么就返回50,当计时完毕, alarm会向调用它的进程发送SIGALRM信号
信号产生种类
ctl + c SIGINT 从键盘的输入中断
ctl + z SIGTSTP 终端暂停信号
CTL