2012-07-07 4 views
0

내가 명령을 실행하려고 :같은 명령을 제공하는 다른 출력

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

을 그리고 그것은 나에게 프로세스 이름으로 프로세스의 PID를 제공합니다 : "어떤 프로세스 이름"

을하지만 난을 사용할 때 쉘 스크립트에서 동일한 긴 명령. 프로세스 이름이 명령 줄 인수로 전달되고 "$ 1"을 통해 사용됩니다. 출력에 두 개의 PID가 나타납니다.

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

어떤 이유가있을 수 있습니까? 어떤 제안?

답변

0

우분투 12.04에서는 bash 4.0에서이 동작이 나타나지 않습니다. 은 사용중인 플랫폼에서 사용할 수있는 pgrep입니까? pgrep 일부 프로세스 이름이 (가) 트릭을 수행해야합니다.

관련 문제