프로세스 ID는 새 프로세스가 시작될 때 운영 체제에 의해 할당됩니다. 내가 아는 한, 사용되는 ID를 제어 할 방법이 없습니다.
부모 스크립트가 동일한 하위 스크립트를 다섯 번 실행하는 것처럼 들립니다. 나는 각각의 자식 프로세스의 발사를 방지하기 위해 트리거 파일을 사용하도록 부모 스크립트를 수정 제안 :
if [ ! -f /wherever/trigger_file_1 ] ; then
# Launch child process #1 here
fi
if [ ! -f /wherever/trigger_file_2 ] ; then
# Launch child process #2 here
fi
if [ ! -f /wherever/trigger_file_3 ] ; then
# Launch child process #3 here
fi
if [ ! -f /wherever/trigger_file_4 ] ; then
# Launch child process #4 here
fi
if [ ! -f /wherever/trigger_file_5 ] ; then
# Launch child process #5 here
fi
예를 들어, 당신은에서 다음을 수행 할 수 있습니다를 실행 자식 프로세스 # 3을 방지하기 위해 필요하다고 결정하는 경우, 모든 단말기 :
touch /wherever/trigger_file_3
하위 프로세스 3이 더 이상 실행되지 않습니다. 당신이 자식 프로세스 # 3는 당신이해야 할 모든 실행을 허용 할 것인지를 결정할 때
rm /wherever/trigger_file_3
과 그 자식 프로세스는 이제 정상적으로 실행됩니다.
행운을 빈다.
프로세스 시작 후 Pid를 변경할 수 없습니다. 부모 스크립트를 시작할 때마다 서로 다른 pid가 있다는 것을 의미합니까? – 123
자식 프로세스에서 더 이상 프로세스가 보이지 않을 때 잠자기 및 사용자 상호 작용이 발생하고 그 후에 자식 프로세스의 새 PID가 표시됩니다. –
그 때 다른 프로세스가 있습니다. – 123