Monitore todos os processos gerados recentemente em uma máquina Linux


12

Às vezes, um processo vem e vai mais rápido do que eu posso ps aux , tentei, watch -d -n0.1 "ps aux | tail"mas novamente, isso é restrito a 1/10 de segundo. O que eu realmente quero é executar um comando e seguir todos os novos processos, um por linha, à medida que eles geram. Até processos que são rápidos. Eu sei que stracetem habilidades semelhantes a isso, mas não consegui fazer o que eu queria.

tl;dr : existe uma maneira de registrar todos os novos processos?

Eu não quero saber muito, nada do que uma linha ps auxme daria, para o caso atual, só tenho um processo gerado por outro e desaparece, quero poder executá-lo, mas não sei qual seria o comando Mesmo conhecer novos PIDs seria suficiente, pois eu poderia imaginar um script que os pegasse e os executasse ps | grepe me desse mais informações enquanto o processo estivesse em execução (assumindo que o processo ainda esteja por aí quando pscomeçar)

Respostas:


7

O que você quer saber sobre esses processos? Se você pode controlar quem gera os processos, o strace -feprocess $SHELLfará.

Se for apenas uma visão geral de sua presença, use a contabilidade do processo (no pacote gnu acct; use o comando lastcomm) ou ferramentas de nível superior, como no modo de logger do topo. No futuro, ferramentas como trace e uprobes serão úteis para obter informações detalhadas do kernel.


Tenho certeza de que o processo é gerado pelo gnome ou pelo X ou por um de seus processos lacaios. Não tenho certeza, no entanto.
Vasiliy Sharapov

4
Vá com lastcommentão.
Tobu


1

Snoopy pode ser a ferramenta certa para o seu caso de uso.

Se você precisa de um logger simples e NÃO está procurando uma solução de segurança / auditoria, pode ser o Snoopy.

Divulgação: mantenedor do Snoopy aqui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.