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 psd'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
pscommande 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
pstreeet je n'ai pas réussi à produire une sortie significative, je pense que je n'ai pas pstree $$produit bash--pstreeexactement 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?