A melhor maneira de fazer isso é fazer com que o processo ( rtl_fm ) grave seu próprio PID em um arquivo PID e use o conteúdo desse arquivo para eliminar o processo.
No entanto, como rtl_fm não tem como gravar o PID em um arquivo, podemos usar uma solução alternativa.
#!/bin/bash
RTL_PID='ps -e | grep rtl_f[m] | awk '{print $1}''
kill ${RTL_PID}
Primeiro, definimos uma variável RTL_PID com o PID do processo. Obtemos isso listando todos os processos, procurando por rtl_fm . O [m]
é um truque que impede que grep rtl_fm
apareça na lista de processos. Finalmente, pegue a saída de linha e obtenha o primeiro campo dela, que é o PID.
Observe que isso enviará um sinal TERM ao processo. Se isso não funcionar e você precisar enviar um KILL , adicione um -9
, por exemplo, kill -9 ${RTL_PID}
.