Como rastrear o arquivo de um processo é executado no disco?

3

Eu tenho um processo sendo iniciado no meu servidor que parece modificar o que o ps / top vê, então eu não sei o nome do arquivo ou o caminho dele desde que ele está escondido (é um script perl). Como posso rastrear onde o arquivo está no disco?

    
por brent 29.12.2011 / 15:09

2 respostas

3

Em /proc/<pid>/ , existem vários arquivos que podem ajudá-lo a encontrar o culpado.

  • cmdline é a linha de comando usada para iniciar o processo (incluindo parâmetros). Infelizmente, isso aparentemente também é alterado se o processo modificar sua própria linha de comando.
  • cwd é o diretório de trabalho do processo, que pode ajudar também
  • exe aponta para o executável em execução (no entanto, para scripts Perl que serão o interpretador Perl, isso pode não ser tão útil)
  • status contém várias informações. Em particular, o processo pai (Ppid) pode ser interessante; esse será o processo que lançou o script - pode ser útil descobrir quem o inicia.
  • em fd , você encontrará a lista de arquivos que o processo abriu atualmente (como links simbólicos); que deve ajudar a descobrir o que faz
por 29.12.2011 / 15:16
1

No Linux, você pode verificar o link simbólico / proc / [PID] / exe, que aponta para o executável.

    
por 29.12.2011 / 15:15

Tags