以下是名为 的脚本中的一些基本代码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
在脚本中运行 a,我看不到任何一个进程 ID。我猜我错误地传递了取消共享的代码,以使其全部在后台作为单个进程运行?如何获取新命名空间中后台运行进程的实际PID?