Quando uno script viene lanciato dal prompt dei comandi, la shell genererà un sottoprocesso per quello script. Voglio mostrare quella relazione tra il processo a livello terminale e i suoi figli usando ps
un output in stile albero.
Come posso fare questo?
Quello che ho provato finora
file: script.sh
#!/bin/bash
ps -f -p$1
Quindi invoco lo script dalla riga di comando passando l'id del processo della shell del terminale:
$ ./script.sh $$
Quello che voglio è qualcosa del genere
- processo di shell di livello superiore (terminale)
- ./script.sh
- processo per il
ps
comando stesso
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
quello che sto ottenendo è:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
pstree
e non sono riuscito a produrre output significativi, penso che non abbia pstree $$
prodotto bash--pstree
esattamente quello che stavo cercando.
ps
, quindi, cos'altro ti aspetti di vedere tranne pstree
?
pstree -p $$
? Oppure, se si vuole di più della linea di comando show, pstree -pa $$
. Oppure, se si desidera visualizzare tutti i processi principali che salgono, pstree -psa $$
.
pstree
?