나는 이것을 사용하여 스크립트의 PID를 찾을 수 있다는 것을 알고 있지만 pgrep -fl example.sh
다음과 같은 경우에는 example.sh
작동하지 않습니다 .example.sh
(while true; do
sleep 5
done) &
./example.sh
그런 다음 실행하면 pgrep -fl example.sh
입력이 반환되지 않습니다. example.sh
잠자는 동안 PID를 어떻게 찾나요 ?
답변1
example.sh
스크립트가 즉시 종료되는 것을 눈치챘을 것입니다 . 이 경우 sleep
명령이 를 통해 백그라운드로 전송되기 때문입니다 &
.
sleep
스크립트는 다음 명령을 순서대로 실행하기 전에 완료될 때까지 기다리지 않습니다 .
sleep
이 경우 예상대로 작동하지 않습니다(지연).
sleep
백그라운드에서 실행할 이유가 전혀 없습니다 .
노트: pgrep -fl processname
PID뿐만 아니라 프로세스 이름도 출력됩니다.
-f, --full
The pattern is normally only matched against the process name. When -f is set, the full command line is used.
-l, --list-name
List the process name as well as the process ID. (pgrep only.)