쉘에서 바로전에 실행한 프로그램의 pid 알아내는 방법
리눅스 bash쉘에서 방금 실행한 프로그램의 pid 알아오는 방법
우리가 일반적으로 웹서버 같은 경우 실행 할때 별도의 pid 파일이 있어 어떤 프로세스 id를 가졌는지 알 수 있습니다. 그리고 데몬으로 실행 되는 것은 ps 명령을 통해서 알거나 포트가 있다면 netstat -antp 명령으로도 알 수 있습니다. php 같은 프로그램을 실행하는 경우는 실행 할때 내장 되어 있는 getmygid() 함수를 실행하면 현재 실행 중인 php 프로그램의 pid를 알 수 있어 쉘에서 실행하는 프로그램을 제작할 경우 restart 해줄 수 있어 용이 합니다.
아래는 쉘에서 방금 실행한 프로그램의 pid를 알아내는 방법입니다.
이미지를 보시면 알겠지만. 중요한 것은 반드시 & 를 붙여서 사용해야 한다는 것입니다.
명령은 $! 이지만.
반드시 프로그램 실행할때 & $!를 해줘야 합니다.
그리고 echo 로 찍어 보면 항상 같은것이 나옴을 알 수 있습니다.
pid를 저장할 필요가 있다면 다음과 같이 하면 됩니다.
[root@pabburi /root/test] free & echo $! > pid.txt
TAG: 쉘실행PID알아내는방법, bash쉘에서방금실행한pid가져오기