commande ci-dessous imprime pid de sous-shell et sous-shell de sous-shell:comment forcer sous-shell sur le niveau 2 être propre pgid?
$ ((echo $BASHPID)& echo $BASHPID)& sleep 1
[1] 9885
9885
9887
[1]+ Done ((echo $BASHPID) & echo $BASHPID)
commandent maintenant ci-dessous est plus compliqué, mais il indique que le deuxième sous-shell est « groupe de processus » de la première sous-shell:
$ ((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
Existe-t-il un moyen simple de créer une commande similaire qui affichera un numéro unique pour la dernière ligne de la deuxième colonne?
mais pourquoi premier sous-shell a sa propre PGID et le second sous-shell - ne fonctionne pas? (et appartient au premier sous-shell PGID). En d'autres termes je veux détacher une fois de plus du premier shell PGID – noonex
Vos sous-clichés sont imbriqués, le PPID de l'externe est la console bash elle-même, son PGID est le sien depuis sa séparation. Je me demande toujours pourquoi le sous-shell interne n'a pas son propre PGID difficile. –
Sachez que je n'ai pas répondu à votre question: p –