Monitora todos os processos recém-gerados em uma máquina Linux

11

Às vezes, um processo chega e vai mais rápido do que eu posso ps aux , eu 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, conforme eles geram. Mesmo processos que são executados rapidamente Eu sei que o strace tem habilidades similares a isso, mas eu não consegui fazer com que ele fizesse o que eu queria.

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

Eu não quero saber muito, não mais do que uma linha de ps aux me daria, para o caso atual eu só tenho um processo que é gerado por outro e desaparece, eu quero ser capaz de executá-lo, mas eu não sei qual seria o comando. Mesmo sabendo que novos PIDs seriam suficientes, já que eu poderia imaginar um script que os pegaria e executaria ps | grep neles e me daria mais informações enquanto o processo estivesse rodando (supondo que esperamos que o processo ainda esteja por perto quando ps estiver indo)

    
por Vasiliy Sharapov 24.11.2010 / 23:04

3 respostas

7

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

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

    
por 24.11.2010 / 23:19
1

auditd?

link

    
por 25.11.2010 / 01:30
0

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

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

Divulgação: mantenedor do Snoopy aqui.

    
por 06.11.2014 / 00:56