Obtendo PIDs diferentes ao cancelar o compartilhamento

Obtendo PIDs diferentes ao cancelar o compartilhamento

Aqui está um pouco do código básico dentro de um script chamado 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=$!

Quando executo o script, os IDs do processo identificados pelo comando bash em segundo plano na primeira linha e o valor atribuído ao PID são diferentes. Além disso, se você executar um psno script, não vejo nenhum desses IDs de processo. Suponho que estou passando o código para cancelar o compartilhamento incorretamente para que tudo seja executado como um único processo em segundo plano. Como posso obter o PID real do processo em execução em segundo plano no novo namespace?

informação relacionada