O comando jobs
listará todas as tarefas em segundo plano iniciadas a partir do shell em que você digitou.
Às vezes, inicio processos em segundo plano usando o terminal. Por exemplo:
$ matlab &
Algumas horas depois, não consigo lembrar de qual Terminal eu comecei o Matlab, ou seja, qual Terminal não é seguro fechar.
Como posso fazer o check-in de um Terminal para ver quais processos filhos ele gerou (se algum)?
O comando jobs
listará todas as tarefas em segundo plano iniciadas a partir do shell em que você digitou.
Provavelmente, o melhor caminho (além da resposta de Dennis ) é com o comando bem conhecido e amplamente usado:
ps -e -o pid,ppid,args --forest
Então você pode ver rapidamente o pid do terminal que lançou vários processos e os próprios processos:
3494 3490 \_ gnome-pty-helper
3495 3490 \_ bash
3566 3495 | \_ evince
3578 3490 \_ bash
3684 3578 | \_ man ps
3693 3684 | \_ pager -s
3709 3490 \_ bash
3801 3709 \_ /usr/bin/python /usr/bin/meld
3871 3709 \_ ps -e -o pid,ppid,args --forest
Para um terminal específico, insira ps -T
nesse terminal:
PID SPID TTY TIME CMD
3709 3709 pts/3 00:00:00 bash
3801 3801 pts/3 00:00:00 meld
3882 3882 pts/3 00:00:00 ps
Para mais informações sobre ps
, consulte man ps
ou os Man pages on-line do Ubuntu . Existem algumas combinações ps
muito interessantes e extremamente úteis que podem ser feitas. Fui inspirado por alguns dos exemplos neste artigo e continuo a experimentar diferentes combinações.