Получение разных PID из unshare

Получение разных PID из unshare

Вот часть базового кода внутри скрипта под названием 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 background в первой строке, и значение, назначенное PID, отличаются. Кроме того, если вы запускаете psв скрипте, я не вижу ни одного из этих идентификаторов процессов. Я предполагаю, что я неправильно передаю код в unshare, чтобы все это работало как один процесс в фоновом режиме? Как мне получить фактический PID процесса, работающего в фоновом режиме в новом пространстве имен?

Связанный контент