Você pode anotar o pid de um trabalho em segundo plano logo após o lançamento:
command & pid1=$!
command & pid2=$!
$! é o pid do último trabalho em segundo plano iniciado.
Usando ferramentas que pesquisam um pid pelos atributos do processo
em um script ou programa é mal aconselhado.
Um processo deve sempre acompanhar seus filhos. Se você descer a rota ps / pgrep ..., corre o risco de matar (= sinalizar) vítimas inocentes (= processos que não são seus, mas que acidentalmente correspondem à sua consulta).
Você também corre esse risco se tiver como alvo os pids certos, mas esses pids não são seus filhos. Um espaço pid é reservado até o processo morrer e seu pai wait s (somente o pai pode wait em um processo). Se um pid não é seu, ele pode ter morrido e ter sido aguardado entre o momento em que você aprende o pid e a hora em que você o sinaliza. Então você pode estar mirando em uma vítima inocente (uma condição de corrida).