Eu sei que com ps
eu posso ver a lista ou a árvore dos processos atuais em execução no sistema. Mas o que eu quero alcançar é "seguir" os novos processos criados ao usar o computador.
Como analogia, quando você tail -f
segue o novo conteúdo anexado a um arquivo ou a qualquer entrada, desejo manter uma lista de acompanhamento do processo que está sendo criado no momento.
Isso é mesmo possível?
bpfcc-tools
.A maneira mais fácil é habilitar a auditoria de chamadas do sistema
Veja o link a seguir para detalhes ,
Alguém sabe uma maneira simples de monitorar a geração do processo raiz | Falha no servidor
Se você estiver monitorando todos os processos, basta remover a
-F uid=0
parteOs logs são gravados em
/var/log/audit/audit.log
fonte
CONFIG_PROC_EVENTS=y
Sessão de amostra:
CONFIG_PROC_EVENTS
expõe os eventos à terra do usuário por meio de um soquete netlink .proc_events.c
Upsatream do GitHub , código adaptado de: https://bewareofgeek.livejournal.com/2945.html
No entanto, acho que não é possível obter dados do processo, como UID e argumentos do processo, porque
exec_proc_event
contém muito poucos dados: https://github.com/torvalds/linux/blob/v4.16/include/uapi/linux/cn_proc .h # L80 Poderíamos tentar lê-lo imediatamente/proc
, mas existe o risco de o processo terminar e outro ter seu PID, para que não seja confiável.Testado no Ubuntu 17.10, que foi
CONFIG_PROC_EVENTS=y
ativado por padrão.fonte
Aparentemente, você pode seguir um processo usando
strace
. Se você conhece o PID do processo, pode fazer:Observe o
-f
interruptor. Ele o ajudará a seguir processos recém-criados que são descendentes do processo cujo PID foi usado no comando acima. Para obter informações sobre strace, consulte esta pergunta.fonte
Você pode usar
forkstat
como indicado aqui: https://stackoverflow.com/a/40532202/781153Instale com:
apt-get install forkstat
E apenas execute:
forkstat
fonte