obtém PIDs de processos de

1

Eu tenho um caminho para um executável. Suponha que eu queira excluir este arquivo.

Eu preciso encontrar todos os processos iniciados usando esse arquivo e eliminá-los. Qual é a melhor maneira de fazer isso?

    
por Victor Mezrin 04.04.2014 / 01:14

3 respostas

3

Talvez o lsof (listar arquivos abertos) possa ajudar você está aí.

Para listar todo o processo que está usando um arquivo específico:

lsof /path/to/your/specific/file

Adicionar a opção -t só retornará os PIDs que usam o arquivo fornecido.

Então, a partir daí, você pode matar todo o processo que está usando o arquivo específico:

lsof -t /path/to/your/specific/file | while read PID; do kill -9 $PID; done

Ou algo parecido:

kill -9 $(lsof -t /path/to/your/specific/file)
    
por 04.04.2014 / 02:50
1

Agora, supondo que você esteja no mundo * nix, você pode usar o comando fuser .

fuser <file_name>

listará todos os process pids usando o arquivo. Para matar processos acessando o arquivo,

fuser -k <file_name>
    
por 04.04.2014 / 01:30
0

Supondo que você esteja se referindo ao Windows, você pode usar o Process Monitor da suíte do Windows SysInternals

    
por 04.04.2014 / 01:19

Tags