无法链接到云端(无法从云端服务器载入)
3497
2022-05-28
如何向另一个进程发送信号?你能解释一下在 linux 环境中向进程发送信号的所有可用选项吗?
您可以使用本文中介绍的一种方法向进程发送各种信号。
1. 使用 Kill 向进程发送信号
使用 kill 命令向进程发送信号。例如,如果要向进程“a.out”发送 USR1 信号,请执行以下操作。
$ ps -C a.out PID TTY TIME CMD 3699 pts/1 00:00:00 a.out $ kill -s USR1 3699
注意:请查看之前发过的文章 KILL进程的 4 种方法 - kill、killall、pkill、xkill。
2. 从另一个进程向一个进程发送信号
您可以使用 UNIX 系统调用 kill(来自 C 程序)将信号从一个进程发送到另一个进程。以下 C 代码片段显示了如何使用 kill 命令。
Kill 系统调用有两个参数:1)需要发送信号的进程的 PID(进程 ID)2)需要发送到进程的信号。Kill 命令成功时返回 0。
int send_signal (int pid) { int ret; ret = kill(pid,SIGHUP); printf("ret : %d",ret); }
3. 从键盘向进程发送信号
当一个进程在终端上运行时,您可以使用某些特定的键组合从键盘向该进程发送信号。以下是几个例子。
SIGINT (Ctrl + C) - 你已经知道了。按 Ctrl + C 会终止正在运行的前台进程。这会将 SIGINT 发送到进程以杀死它。
您可以通过按 Ctrl + \ 或 Ctrl + Y 向进程发送 SIGQUIT 信号
您可以使用“stty -a”命令查看向进程发送特定信号的键映射,如下所示。
$ stty -a | grep intr intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
Linux 任务调度
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。