어떤 프로그램의 PID 값을 받아서 kill 하기 위해 PID값을 추출하는 스크립트를 실행중이었으나


도무지 이상한 값이 포함되어져 나온다. 뭐지? 뭔데 이상한 프로세스값이 추가로 보이는거지?


사용된 스크립트의 내용

#!/bin/sh


echo `ps -ef | grep "vrrpd" | grep $1 | awk '{print $2 }'` 


ps -ef 한 결과값의 두번째값(PID값) 을 빼내는 명령어라고 생각하고 실행하였으나....

3개의 결과값이 나온다. 실제로 ps -ef 명령을 실행하면 결과값은 단 1개만 보이고....


뭐지??..... @.@


정상적인 내용을 적어보자면

변형된 스크립트의 내용 

 #!/bin/sh


echo `ps -ef | grep -v grep | grep -v /bin/sh | grep "vrrpd" | grep $1 | awk '{print $2 }'`


위와 같이 실행을 하도록 해야지만 결과값이 1개가 나온다.