Lorsqu'un script est lancé à partir de l'invite de commandes, le shell génère un sous-processus pour ce script. Je veux montrer cette relation entre le processus de niveau terminal et ses enfants à l'aide ps
d'une sortie de style d'arbre.
Comment puis-je faire ceci?
Ce que j'ai essayé jusqu'à présent
fichier: script.sh
#!/bin/bash
ps -f -p$1
Ensuite, j'invoque le script à partir de la ligne de commande en passant l'ID de processus du shell du terminal:
$ ./script.sh $$
Ce que je veux c'est quelque chose comme ça
- processus shell de niveau supérieur (terminal)
- ./script.sh
- processus de
ps
commande lui-même
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
ce que je reçois est:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
pstree
et je n'ai pas réussi à produire une sortie significative, je pense que je n'ai pas pstree $$
produit bash--pstree
exactement ce que je cherchais.
ps
, qu'attendez-vous d'autre à part pstree
?
pstree -p $$
? Ou, si vous voulez plus de la ligne de commande show, pstree -pa $$
. Ou, si vous voulez montrer tous les processus parents qui montent, pstree -psa $$
.
pstree
?