阅读量:0
kill
函数是一个用于向进程发送信号的系统调用,它在 C++ 中的原型如下:
#include <sys/types.h> #include<signal.h> int kill(pid_t pid, int sig);
参数含义:
pid_t pid
:这是要接收信号的进程的进程 ID。你可以指定以下三种类型的进程 ID:- 正数:表示要向特定进程发送信号。
- 0:表示要向当前进程组中的所有进程(除了调用进程自身)发送信号。
- -1:表示要向系统中所有进程(除了调用进程自身和 init 进程)发送信号。在这种情况下,你需要具有适当的权限(通常是 root 用户)。
int sig
:这是要发送的信号编号。信号是软件中断,用于通知进程发生了某些事件。常见的信号有:SIGTERM
(默认值为 15):请求终止进程。进程可以捕获此信号并执行清理操作,然后正常终止。SIGKILL
(默认值为 9):强制终止进程。进程无法捕获此信号,因此会立即终止。SIGINT
(默认值为 2):中断进程。通常由用户按下 Ctrl+C 触发。SIGHUP
(默认值为 1):挂起进程。通常用于通知进程重新读取配置文件。
kill
函数返回值:
- 成功时返回 0。
- 失败时返回 -1,并设置
errno
以指示错误原因。例如,EPERM
表示没有足够的权限发送信号,ESRCH
表示指定的进程不存在。