Dado o pid, encontre o processo que já passou

1

Eu sei que um certo processo está reiniciando meu servidor web em um determinado momento (provavelmente em um cron job? Mas isso não acontece todos os dias ), mas eu não sei qual processo , só é id (de olhar para os logs do servidor web. Eu verifiquei alguns dos logs para o pid). Existe uma maneira de encontrar o nome do processo / arquivo em lote de um processo que foi embora por um tempo (algumas horas), dado apenas o pid?

    
por thenoviceoof 18.10.2009 / 22:10

2 respostas

3

Ligue a contabilidade do processo do BSD ( acct no Debian / Ubuntu, psacct nas distros semelhantes ao RHEL que usei) e, em seguida, examine os logs resultantes (usando lastcomm ) para o processo ' re interessado em.

    
por 19.10.2009 / 01:11
0

A menos que você registre explicitamente qualquer novo processo, seu nome e seu PID ou tenha (por coincidência) uma entrada por este processo em seus logs do sistema (que geralmente mencionam PID e o nome do programa), acho que não há como encontrar que programa teve um determinado PID no passado.

Desde que você mencionou lighttpd, existem várias possibilidades, três das quais são:

  • logrotate (porque depois de girar os arquivos de log, o lighttpd precisa reabrir os descritores de arquivos)
  • lighttpd-angel
  • monit, god, Nagios, Zabbix ou qualquer software de monitoramento que reinicie o processo do servidor da web, quando ele for executado por muito tempo ou usar muita memória.
por 18.10.2009 / 22:26