Como você tem pgrep
, é muito provável que você também tenha pkill
.
Usando pgrep
e, em seguida, kill
introduz uma condição de corrida teórica. Usar pkill
remove a condição de corrida (do script) e também evita usar uma variável para manter os PIDs:
ssh -t -t "$HOST_IP" pkill -f host_server1
ou, se você quiser enviar o sinal KILL
:
ssh -t -t "$HOST_IP" pkill -KILL -f host_server1
Observe que, com -f
, pgrep
e pkill
corresponderão ao padrão em relação à linha de comando inteira, não apenas ao nome do processo.
Com -n
e -o
, o mais novo ou o mais antigo (respectivamente) dos processos correspondentes será afetado. Assim, se você quiser KILL
o mais novo host_server1
e nada mais:
ssh -t -t "$HOST_IP" pkill -KILL -n -f host_server1