Isso é difícil de depurar com as informações que você forneceu, mas considere isto:
$ cat foo.sh
#!/usr/bin/env bash
while true
do
echo yes;
done
Isso é apenas um loop infinito simples. Se eu lançar o script com ./foo.sh
, posso encontrá-lo na saída de ps
:
$ ps aux | grep foo.sh
terdon 25568 0.0 0.0 10996 1424 pts/12 S+ 16:19 0:00 bash /home/terdon/scripts/foo.sh
terdon 25982 0.0 0.0 10356 928 pts/11 S+ 16:23 0:00 grep --color foo.sh
Para eliminá-lo, a abordagem mais simples seria usar pkill
e seu sinal -f
:
-f, --full
The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
Então, tente:
pkill -f foo.sh