공유 해제에서 다른 PID 얻기

공유 해제에서 다른 PID 얻기

다음은 이라는 스크립트의 일부 기본 코드입니다 test.sh.

bash -c "sleep 10; echo \$(pidof unshare)" &

sudo unshare --mount --uts --ipc --net --pid --fork /bin/sh -c "
... do stuff ...
sleep 60
" &

PID=$!

스크립트를 실행하면 첫 번째 줄의 백그라운드 bash 명령으로 인식되는 프로세스 ID와 PID에 할당된 값이 다릅니다. 또한 ps스크립트 내에서 실행하면 프로세스 ID가 표시되지 않습니다. 공유되지 않은 코드를 잘못 전달하여 모든 것이 백그라운드에서 단일 프로세스로 실행되는 것 같아요. 새 네임스페이스의 백그라운드에서 실행 중인 프로세스의 실제 PID를 어떻게 얻을 수 있나요?

관련 정보