【发布时间】:2016-10-08 11:46:36
【问题描述】:
我正在使用以下命令来获取 pid 。 “A”是应用程序名称并用作参数。我像 ./stop A 一样运行我的脚本
PID=`ps -ef | grep A| grep -v grep | awk '{print$2}'`
这也在捕获“/bin/ksh ./stop A”过程。但我不想要。 我只想在 PID/
中捕获“A”进程而不是我的脚本进程我的脚本下有以下 kill 命令正在杀死我正在运行的脚本:(
kill -9 $PID
它也在杀死 /bin/ksh ./stop A 本身的 pid,并且脚本在那时停止。
这是针对 AIX 的。如何避免杀死脚本本身。
注意:当我使用相同的脚本做相同的工作但没有传递参数时,它会很好。我相信它很明显,因为将参数传递给脚本正在创建其他 pid,而对于同一个应用程序,它会执行 grep 和杀戮。
【问题讨论】:
-
您可以通过
-w、ps -ef | grep -w "A" | grep -v grep | awk '{print$2}'使grep搜索独一无二? -
在 AIX 中不工作。它仍在捕获脚本进程本身并将其杀死。
标签: shell aix pid kill-process