信号发送函数(1)

一、kill函数

头文件:#include <sys/types.h> #include <signal.h>

函数声明:int kill ( pid_t pid, int signo );

功能:送指定的信号(signo)给指定的进程(pid)

参数说明(pid的四种情况):

1、pid>0 将信号传给进程标识码为pid 的进程
2、pid=0 将信号传给和目前进程相同进程的所有进程

3、pid<0 将信号传给进程识别码为pid 绝对值的所有进程
4、pid=-1 将信号广播传送给系统内所有的进程

返回值:执行成功则返回0,如果出错则返回-1

kil系统命令与kill函数的联系与区别:

kill命令和kill函数都可以给某个进程(组)发送信号。实际上,kil命令是kil函数的一个用户接口。kill命令仅仅可以对进程发送SIGKILL信号,来终止进程;而kill函数则可以发送各种各样的信号,来对进程进行操作。


二、raise函数

头文件:#include <sys/types.h> #include <signal.h>

函数声明:int raise ( int signo ) ;
功能:送指定的信号(signo)给当前的进程

返回值:执行成功则返回0,如果出错则返回-1


总结--kill与raise的区别与联系:
kill比raise具有更多的功能,可以对指定多个进程发送信号;而raise只能对当前单个进程发送信号。

因此,我们完全可以用kill来取代raise,同样实现它的功能----int kill ( getpid(), int signo );


猜你喜欢

转载自blog.csdn.net/u013279563/article/details/49275947