Obter lista de tarefas iniciadas por um usuário em um sistema Linux

1

Eu preciso executar tarefas que são iniciadas por um usuário. Eu tentei vários comandos como

xlsclients

Esse comando faz quase o que eu preciso, mas é falta de informações do usuário. Ele lista todas as tarefas (na verdade, janelas) de uma vez sem nome de usuário.

ps aux -u *username*

Isso fornece processos pelo usuário, mas inclui também todas as tarefas do sistema, como:

/sbin/getty -8 38400 tty4
/usr/sbin/gpm -m /dev/input/mice -t exps2 

etc.

Por isso, quero listar as tarefas executadas por um usuário, mas excluindo as relacionadas ao sistema.

    
por Mustafa Orkun Acar 19.08.2014 / 14:50

1 resposta

1

Se você deseja processos órfãos :

  • pgrep -u "$USER" imprime os PIDs iniciados pelo usuário atual
  • pgrep -u "$USER" -P 1 imprime os PIDs órfãos iniciados pelo usuário atual

Combinando estes, você pode obter os PIDs não órfãos iniciados pelo usuário atual:

pgrep -u "$USER" | grep -Fvx "$(pgrep -u "$USER" -P 1)"

Você pode passar a lista resultante para ps , top ou outros programas para obter os detalhes de cada processo.

    
por 19.08.2014 / 16:03

Tags