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.
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.
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.