Último comando emitido em uma máquina GNU/Linux

Último comando emitido em uma máquina GNU/Linux

Alguém perguntou na lista de discussão do meu LUG local se existe alguma maneira de aprender o último comando emitido em um sistema GNU/Linux.

Estamos falando do último comando em todo o sistema, eu acho. Depois de raciocinar um pouco, se você limitar o conjunto de comandos àqueles emitidos por usuários reais usando um console interativo, o último deverá ter sido registrado no histórico de comandos.

Outra forma de pensar nesta questão seria perguntar como saber qual foi o último processado que foi criado em uma caixa GNU/Linux, se ainda está rodando ou já terminou a execução, quais foram os processos pai e outras informações relevantes.

Responder1

Encontrei um pacote para Linux que ajuda na contabilidade de processos.

No meu sistema Ubuntu 9.10 fiz isso para instalar o programa "acct":

sudo apt-get install acct

Em seguida, um arquivo de log em branco precisa ser criado, o que você pode fazer assim:

sudo touch /var/log/pacct

Depois disso, a contabilidade do processo precisa ser ativada:

sudo /usr/sbin/accton /var/log/pacct

A partir desse ponto, os processos são registrados junto com o usuário que os executou e o terminal associado.

O arquivo de log pode ser visto com este comando:

lastcomm -f /var/log/pacct

Ainda estou pesquisando esse programa... mas parece que isso ajuda.

Responder2

Para um usuário específico (e shell): histórico

Para um processo atual: ps

Responder3

Bem, um sistema amplo parece bastante complicado. Tal sistema implica que deve haver algum processo que monitore o .bash_history de todos os usuários. Então, quando isso for atualizado, um banco de dados central será atualizado. Feito isso, podemos corrigir uma extensão para o comando "history" que escolhe no banco de dados central. Não é uma má ideia.

Responder4

Você pode usarbisbilhoteiropara monitorar todos os comandos que são executados.

informação relacionada