O comando pgrep
Se a sua distribuição tiver o comando pgrep instalado (por exemplo, do pacote procps ), você poderá usar o comando para localizar IDs de processo por padrão. Por exemplo:
# Find the sleep commands belonging to the current user.
pgrep -u $LOGNAME sleep
Este comando encontrará todas as correspondências pertencentes ao usuário atual, independentemente de o processo ter sido iniciado no terminal atual ou em outro, de modo que funcionará para seu caso de uso PuTTY.
Testando o comando pgrep
Você pode testar isso em um único TTY ou PTY simplesmente, também. Considere:
$ sleep 30 & pgrep -u $LOGNAME sleep
[1] 24021
24021
Neste exemplo, sleep é colocado em segundo plano e o Bash informa o ID do trabalho e o PID do trabalho em segundo plano. Então pgrep encontra o mesmo PID na lista de processos e envia o PID para a saída padrão. Obviamente, os números devem corresponder.
Múltiplos Jogos
Observe que, se o usuário atual tiver mais de um comando sleep em execução, o pgrep reportará corretamente vários PIDs. Por exemplo, os seguintes PIDs de retorno para trabalhos em segundo plano %1
e %2
:
$ sleep 30 & sleep 30 & pgrep -u $LOGNAME sleep
[1] 24063
[2] 24064
24063
24064