Como matar o comando Find específico? [duplicado]

1

O comando find específico que estou tentando matar está sendo executado dentro de um script criado pelo usuário?

Eu criei um script que, dentro dele, contém um comando find que é executado por até 10 minutos, antes que eu execute o mesmo script novamente, ele precisa matar o comando find.

    
por Mike Shobes 13.06.2017 / 17:02

1 resposta

1

pgrep

Você pode usar pgrep com -a switch:

pgrep -a find

ele fornecerá uma linha de comando completa, bem como o ID do processo:

10838 find / -iname png
10839 find / -iname jpg

então você pode decidir se é o que você quer matar ou não:

kill 10838

matará o png.

pkill

você também pode usar pkill da seguinte forma:

pkill -x "find / -iname png"

-x significa: corresponde apenas processos cujos nomes.

Localizar processo filho:

use a árvore para encontrar o processo desejado, digamos que o seu nome de script seja "script.sh" você pode usar pgrep -f script para encontrá-lo, então passe a saída para pstree para obter uma lista de seu filho e matar o encontre o processo que é o filho do seu script.

$ pstree -p $(pgrep -f script)
bash(10915)───find(10916)
$ kill 10916
    
por Ravexina 13.06.2017 / 17:06