답변:
마지막으로 실행 된 명령의 PID는 $!
쉘 변수에 있습니다.
my-app &
echo $!
/bin/sh -c 'echo $$>/tmp/my.pid && exec program args' &
- 11월 24일 '10 sysfault 14시 28분에
echo $!
my-app & myVar=$! ; fg
. fg
프로세스를 다시 포 그라운드로 만듭니다. echo $myVar
나중에 인쇄 할 수 있으며 my-app가 이미 완료된 것입니다.
입수 PID
:
#!/bin/bash
my-app &
echo $!
PID
변수로 저장 :
#!/bin/bash
my-app &
export APP_PID=$!
모든 인스턴스 PID
를 텍스트 파일로 저장하십시오 .
#!/bin/bash
my-app &
echo $! >>/tmp/my-app.pid
출력, 오류 및 PID
분리 된 파일을 저장하십시오 .
#!/bin/bash
my-app >/tmp/my-app.log 2>/tmp/my-app.error.log &
echo $! >>/tmp/my-app.pid
echo "my-app PID's: $(cat /tmp/my-app.pid)"
my-app
완료 된 인스턴스 와 나중에 PID가 더 재사용되는 경우 파일에 잘못된 정보가 있다는 점을 제외하고는 허용되는 것과 거의 동일 합니다. 이 답변이 기존의 승인 된 답변에 많은 가치를 더한다고 생각하지 않습니다
sleep 4 | grep INVALID & export MY_PID=$!; fg; echo $MY_PID returned with $?
`
main &
PID를 잡는 방법?