
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 ps
no 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?