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)

Vasiliy Sharapov
fonte

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.

Tobu
fonte
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

auditd?

http://linux.die.net/man/8/auditctl

procedimento de queijo
fonte
Eu pensei que isso era apenas para arquivos? Você não pode usá-lo em / proc quer
James L
1
Você pode dar um exemplo?
hek2mgl
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.

Bostjan Skufca
fonte