
以下是名為 的腳本中的一些基本程式碼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?