1:kill函数:传送信号给指定的进程
#include <sys/types.h>
#include <>signal.h>
int kill (pid_t pid ,int sig)
kill函数可以用来把参数sig指定的信号送给参数pid指定的进程
使用参数pid指定进程分为一下几种情况:pid > 0:将信号传给进程识别吗为pid进程
pid = 0 将信号传给和目前进程相同进程组的所有进程
pid = -1将信号广播传送给系统内所有进程
pid < -1 将信号传给进程组识别码为pid绝对值的所有进程
成功就返回零,不成功就返回-1
在使用kil函数的过程中,kill函数是在程序中使用的,他的使用方法在和在命令行使用的kill类是
2:raise函数:信号发送函数
#include <signal.h>
int raise(int sig)
此函数想当前的进程发送一个sig信号,如果发送不成功就返回一个非零的值,在linux中这个函数等价于kill(getpid(),sig)
3:alarm函数:设置超时函数
#include <signal,h>
unsigned int alarm (unsigned int seconds)
此函数用于在进程中设置一个定时器,当定时间道德情况下将会想进程发送sigalrm信号,如果进程捕获到这个信号,将使用安装的信号处理器处理这个函数,如果进程没有捕获这个函数,将使用默认行为,即终止程序,在一个进制中,只能设置一个超时量
如果之前么有设置其他的超时,将返回0,否则返回以前设置的超时量中保留的描述,这个返回值还可以保留做下一次的超时参数继续使用
4:signal函数:信号安装函数
#iinclude <signal.h>
typedef void (*sighandler_t)(int)
sighandler_t signal(int signum,sighandler_t handler)
此函数用于确定以后当信号signum出现时的处理方法,如果handler的值是SIG_DFL,就采用预先定义的默认行为如果handler的值是SIG_IGN就忽略该信号,否则,调用handler所指向的函数,参数handler需要使用一个函数指针,SIG_DFL的值一般为0,SIG_IGN的值一般为1
在信号安装成功的情况下,如果出现信号signum时,就中断正在执行的炒作,转而执行信号处理函数,如果从信号处理程序中返回,则中断的位置继续执行