從取消共用中取得不同的 PID

從取消共用中取得不同的 PID

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

相關內容