루프가 있는 스크립트가 있습니다.
while read host
do
./script &
done
./script에서 백그라운드로 시작되는 현재 프로세스의 프로세스 ID를 알고 스크립트에서 사용하고 싶습니다.
답변1
POSIX 쉘(예: bash
) 을 가정하면 은 $$
현재 쉘의 PID이자 $PPID
상위 쉘의 PID이기도 합니다. $$
스크립트에 전달하거나 $PPID
스크립트에서 값을 확인할 수 있습니다.
답변2
현재 쉘의 프로세스 ID는 특수 변수에 있습니다 $$
.
이를 분기된(백그라운드) 프로세스에 전달할 수 있습니다.
./script $$ &
"스크립트"에서는 이것이 첫 번째 인수가 됩니다. 따라서 다음과 같습니다.
parent_pid=$1
요약이 있습니다여기에 bash 특수 변수.