Isso funcionará no Linux e no Solaris e fará exatamente o que você precisa:
pgrep -f 'find /etc' # verify the listing before proceeding
pkill -9 -f 'find /etc'
Na sua situação, evite killall
. Se você usá-lo no Linux, mais cedo ou mais tarde você irá confundir as sessões ssh, executá-lo no Solaris, criando riscos desnecessários.
A opção -f
de pgrep / pkill significa corresponder à linha de comando inteira. Caso você precise corresponder o caminho do programa ou script ( /var/tmp/test.sh
), isso funcionará se você o tiver executado com o caminho inteiro. Para ser preciso, você só precisa escapar do .
, então você precisa
pkill -9 -f '/var/tmp/test\.sh'
Se você executou o mesmo programa que ./test.sh
, precisará matá-lo como tal. Veja a opção -f
em ps
.