Crie um programa de logging

0

Eu quero criar um programa que registre todos os processos iniciados pelo usuário e confirme depois que eles forem iniciados. Eu não quero registrar todos os syscalls e outros processos daemon. Eu verifiquei inicialmente auditctl e ausearch em auditd package e também acct , mas eles são muito lentos e fornecem muito mais informações do que eu preciso. Eu quero algo como ps (que relata um instantâneo dos processos atuais).

Atualmente estou usando o Ubuntu 12.04 LTS em um AMD X2 e em um Intel dual core. Obrigado!

    
por quick- 23.03.2013 / 06:44

1 resposta

0

Como você não especificou uma linguagem de programação para o seu programa, recomendarei o uso do Python. Existem várias maneiras de descobrir os processos atuais em execução:

a) Use o módulo de subprocesso para chamar ps e depois analisar seu saída. Não é bonito, mas pode ser feito .

b) Use um módulo python de terceiros como psutil ou psi .

c) Desde que você usa o linux, você pode olhar o sistema de arquivos / proc :

import os
pids= [pid for pid in os.listdir('/proc') if pid.isdigit()]
for pid in pids:
    print open(os.path.join('/proc', pid, 'cmdline'), 'rb').read()
    
por 23.03.2013 / 16:54