0

我正在尝试执行命令:

ps -e|grep some-process-name|grep -v grep|awk '{print $1}'|grep -v $$  

它给了我进程名称的进程的pid:“some-process-name”

但是当我在 shell 脚本中使用相同的长命令时,进程名称作为命令行参数传递并通过“$1”使用,我在输出中得到两个 pid。

PIDS=$(ps -e|grep $1|grep -v grep|awk '{print $1}'|grep -v $$)
echo $PIDS    

这可能是什么原因?有什么建议么?

4

1 回答 1

0

我在 Ubuntu 12.04 上的 bash 4.0 上看不到这种行为。pgrep 在您的平台上可用吗? pgrep some-process-name应该为您解决问题。

于 2012-07-07T19:02:46.053 回答