Jobs da shell residem em "grupos de processos"; observe a coluna PGRP
na saída ps
estendida. Estes são usados tanto para controle de trabalho e para determinar quem "possui" um terminal (real ou pty).
POSIX (extraído do System V) usa um ID de processo negativo para indicar um grupo de processos, já que o grupo de processos é identificado pelo primeiro processo no grupo ("líder do grupo de processos"). Portanto, você usaria ps
para determinar o grupo de processos e, em seguida, kill -s TSTP "-$pgrp"
. (Tente ps -u"$USER" -opid,ppid,pgrp,cmd
.)
Na sua árvore de processos, o grupo de processos começa com o script firefox
lançado por bash
, portanto, o grupo de processos seria 27980 e o comando seria kill -s TSTP -27980
.
Naturalmente, para retomar o grupo de processos, emita kill -s CONT -- -27980
.