使用命令行快捷方式发送 SIGTERM

使用命令行快捷方式发送 SIGTERM

我希望能够使用命令行快捷方式发送 SIGTERM 信号,就像我可以使用Ctrl+发送 SIGINT 一样C

我之前读过有关ctrl+ 的内容d,但是它在这里不起作用,什么也没有发生。

我也读过这个使用键盘快捷键 SIGTERM

$ stty -a
speed 38400 baud; rows 43; columns 123; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -extproc

quit 是我想要触发的信号吗? kill 是我想要触发的信号吗?

而且非常愚蠢...如何在我的键盘上输入“^\”或“^U”?我只需输入它然后按回车键即可?

答案1

不可以,SIGTERM无法从命令行发送,如下所示:https://superuser.com/a/343611/199930

也可以看看:https://unix.stackexchange.com/q/362559/43390

答案2

说不能SIGTERM从命令行发送并不完全正确。您无法通过键盘快捷键发送, 但是你从命令行发送。

根据kill 的手册页,您可以SIGTERM向任何进程发送 。 您可以通过在进程表 (类型ps) 中找到您的进程,然后键入 来完成此操作kill -15 [pid]

以下是您可以在终端中用来处理进程的键盘快捷键列表:

  • Ctrl+C发送SIGINT请求中断程序但可以被捕获或忽略。
  • Ctrl+Z发送SIGTSTP请求暂停程序但可以被捕获或忽略。此过程可以稍后恢复。
  • Ctrl+\发送的SIGQUIT内容与 相同,SIGINT只不过它还会产生核心转储。

来源1来源2

相关内容