Como obtenho o caminho para o script perl que eu conheço apenas o PID?

2

Eu tive um problema recentemente, em que um script perl consumia recursos do servidor. Eu descobri que era um script perl usando "top". Mas não deu o caminho para o roteiro. Nem ps . Além disso, ps -ef mostrou que o processo com esse pid é /usr/bin/httpd (apache), então deve ter sido o apache servindo alguma página em perl, suponho.

É possível obter o caminho para o script perl atualmente em execução, se eu souber apenas o processo PID do processo perl que está executando esse script? Se sim, como?

Esclarecimento: Eu não preciso do caminho para o binário perl, eu preciso do caminho para o script perl que o binário está atualmente executando.

    
por Kipras 01.05.2011 / 16:24

2 respostas

1

Você pode fazer ps -p $p -o command , onde em vez de $ p você usa o PID do processo. Isso dá a linha de comando completa.

    
por 01.05.2011 / 16:59
1

Dê uma olhada em / proc para o PID do processo. Existe um arquivo cmdline

Isso contém o comando que foi usado para executar o script.

por exemplo:

$ cat /proc/19433/cmdline
perl/path/to/myscript

Na verdade, há \ 000 (chr (0) / NULL) entre o "perl" e o "/ caminho ...", mas o gato não mostra isso.

    
por 01.05.2011 / 16:33

Tags