【问题标题】:kill -9 but using name instead of numberkill -9 但使用名称而不是数字
【发布时间】:2018-09-26 01:41:23
【问题描述】:

我是这样使用 kill 的:

pgrep -P $$ | xargs kill -9

但我想知道 kill -9 的名称版本是什么,我以为是:

pgrep -P $$ | xargs kill -KILL

但这似乎不起作用,b/c 子进程似乎继续存在。

【问题讨论】:

  • 试试man killall
  • 是的,我正在寻找与 -9 对应的 -SIGNAL,但名称,可能是 -SIGKILL 而不是 -KILL
  • -9-SIGKILL-KILL 都不错。
  • 由于kill 是一个内置的shell,从man bash: sigspec 是一个不区分大小写的信号名称,例如 SIGKILL(带或不带 SIG 前缀)或一个信号号码

标签: bash shell signals kill sigkill


【解决方案1】:

在 linux 上,它是KILL。您可以使用kill -l获取信号名称列表

kill -l | head -n2
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1

当你杀死父母时,孩子成为孤儿,由init继承

+~ ->ps -p 5783,5784,2212 -o pid,ppid,command                                                        
  PID  PPID COMMAND
 2212  1914 -bash
 5783  2212 /bin/bash ./parent.sh  
 5784  5783 /bin/bash ./child.sh 

+~ ->kill -KILL 5783

+~ ->ps -p 5783,5784,2212 -o pid,ppid,command
  PID  PPID COMMAND
 2212  1914 -bash
 5784     1 /bin/bash ./child.sh

+~ ->ps -fp 1 -o pid,command
  PID COMMAND
    1 /sbin/init splash

请参见上面的示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2012-12-01
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2011-03-13
    相关资源
    最近更新 更多