【问题标题】:AIX - How to kill using process name instead of PIDAIX - 如何使用进程名称而不是 PID 杀死
【发布时间】:2021-08-09 16:04:11
【问题描述】:

有没有办法通过指定进程名称而不是 AIX 的 PID 来终止进程? 例如。对于下面的过程,我想通过指定 sapstartsrv 而不是 10682424 来杀死它

hmsadm 10682424        1   0   Apr 30      -  0:54 /usr/sap/HMS/ASCS01/exe/sapstartsrv pf=/usr/sap/HMS/SYS/profile/START_ASCS01_H\

谢谢。

【问题讨论】:

  • 你如何确定要杀死哪个sapstartsrv
  • 我只需要杀死所有剩余的 sapstartsrv 进程。我想使用进程名杀死的原因是我想自动化进程,就好像用 PID 杀死一样,我首先需要确定 PID,然后作为第二步运行 kill。是否有可以自动执行此操作的脚本 - 首先 grep PID 然后杀死相关的 PID?

标签: process aix kill


【解决方案1】:

试试这个。您试图杀死的进程的第一个字母周围的括号会有所帮助。显然将其更改为有效的服务器。

while true; do date; ping -c4 server; sleep 500; done &

ps -aef | grep -i [p]ing | awk '{print $2}' | xargs kill -9

如果这不起作用,有时您必须终止父进程。

ps -aef | grep -i [p]ing | awk '{print $2 " " $3}' | xargs kill -9

【讨论】:

    【解决方案2】:

    @Romeo 感谢您迄今为止的帮助。

    不幸的是,仍然出现变量语法错误。很确定语法是正确的,并且根据您的建议。尝试了另一个如下。有什么想法吗?

    ps -ef|grep sapstartsrv
    
      sapadm 16646280        1   0   Apr 20      -  2:55 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D
      hmzadm 18743480        1   0   Apr 20      -  3:33 /usr/sap/HMZ/ASCS03/exe/sapstartsrv pf=/usr/sap/HMZ/SYS/profile/START_ASCS03_HRSTS -D
    
    ps -ef|grep sapstartsrv|awk '{print $2}'
    16646280
    18743480
    
    kill $(ps -ef|grep sapstartsrv|awk '{print $2}')
    Variable syntax.
    
    kill -9 $(ps -ef|grep sapstartsrv|awk '{print $2}')
    Variable syntax.
    

    【讨论】:

    • 在尝试此之前,请使用命令set -xv 启用调试。
    【解决方案3】:

    我正在使用 ping 命令对其进行测试,但遇到了变量语法错误。请指教。

    ps -ef|grep ping
    wdd500 58786076 50463096   0 14:43:39  pts/0  0:00 ping HRB1000
    
    
    
    ps -ef|grep ping|awk '{print $2}'
    58786076
    
    kill $(ps -ef|grep ping|awk '{print $2}')
    Variable syntax.
    

    【讨论】:

    • 这对我来说很好。检查您是否正确复制了引号
    【解决方案4】:

    你可以这样使用命令:

    kill -9 $(ps -ef|grep sapstartsrv|awk '{print $2}')
    

    当然首先检查命令ps -ef|grep sapstartsrv|awk '{print $2}'是否只返回你想杀死的进程

    【讨论】:

    • 我尝试使用 sapstartsrv 但仍然收到 kill 命令的变量语法错误。有什么想法吗?
    • @userguy,请编辑您的问题并在此处添加您执行的内容和遇到的错误
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 2010-09-14
    • 2014-09-07
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2022-08-22
    相关资源
    最近更新 更多