1
命令下面子外殼的打印PID和子外殼子外殼的:如何強制級別2的子shell在自己的pgid?
$ ((echo $BASHPID)& echo $BASHPID)& sleep 1
[1] 9885
9885
9887
[1]+ Done ((echo $BASHPID) & echo $BASHPID)
查閱下面的命令是更復雜,但它表明第二子外殼是在第一子外殼的「進程組」:
$ ((echo $$ $BASH_SUBSHELL $BASHPID ; export BBB=$BASHPID; ps -e -o pid,pgid,ppid,comm | grep -E "$$|$BBB|PGID" | grep -E "bash|PGID")& echo $$ $BASH_SUBSHELL $BASHPID; sleep 1)& sleep 1
[3] 9973
2787 1 9973
2787 2 9975
PID PGID PPID COMMAND
2787 2787 2769 bash
9973 9973 2787 bash
9975 9973 9973 bash
有沒有簡單的方法來創建類似的命令,將顯示第二列最後一行的唯一編號?
但首先,爲什麼子shell都有自己的PGID和第二子shell - 不? (並且屬於拳頭子外殼PGID)。換句話說,我想再次脫離第一個外殼PGID – noonex
你的子殼是嵌套的,外部的PPID是bash控制檯本身,它的PGID是它自己分離後的一個。我仍然想知道爲什麼inner subshell沒有自己的PGID。 –
只是意識到我沒有回答你的問題:p –