
Вот часть базового кода внутри скрипта под названием 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 процесса, работающего в фоновом режиме в новом пространстве имен?