Que comando é necessário para descobrir sobre o programa, quais outros programas são inicializados por este programa? [duplicado]

-3

Sim - isto diz respeito à questão de quais comandos no terminal são possíveis, para descobrir quais programas são inicializados (visíveis e não visíveis) - pelo programa1. (por exemplo - quando eu só quero saber, quais programas estão rodando por program1 apenas com o nome "crash-handler"?) Eu não quero dizer isso aqui:

Etapa 1:

top

e depois o passo 2:

sudo kill -9 PID 'number-of-process'

Eu quero listar todos os programas que estão sendo executados pelo programa1 (mesmo processos ocultos ...). Esta questão será recompensada com generosidade! (por causa da tempestade eu tive amnésia e queria colocar essa questão antes - isso então teria evitado os "hoaxes" idiotas sobre as chamadas "vulnerabilidades de choque de shell" e outras notícias ...).

Quantos comandos possíveis seriam disponibilizados para isso ?! (- não só htop e top e pstree ...) - obrigado!

    
por dschinn1001 17.10.2014 / 11:20

2 respostas

3

Tente o htop:

sudo apt-get install htop
htop

Tem uma visão em árvore (F5) e pode mostrar todos os tópicos do usuário e do kernel (shift + H e shift + K).

    
por Tuomas 17.10.2014 / 11:34
1

Se eu entendi sua pergunta corretamente, você quer as várias maneiras que podem listar os processos filhos de um determinado processo. Que eu saiba, estas são:

  1. top . Lance top e depois pressione V . De man top :

     ´V' :Forest-View-Mode toggle
          In  this  mode,  processes are reordered according to their
          parents and the layout of the COMMAND column resembles that
          of  a  tree.   In  forest view mode it is still possible to
          toggle between program name and commamd line (see  the  'c'
          interactive  command) or between processes and threads (see
          the 'H' interactive command).
    
  2. htop . Geralmente, isso não é instalado por padrão, portanto, instale usando sudo apt-get install htop . Em seguida, pressione F5 ou t . De man htop :

    F5, t
        Tree view: organize processes by parenthood, and layout the  rela‐
        tions between them as a tree. Toggling the key will switch between
        tree and your previously selected sort view. Selecting a sort view
        will exit tree view.
    
  3. pstree . Este comando simples é projetado exatamente para isso, mostra processos em execução como uma árvore.

  4. O

    ps em si também pode fazer isso. Por exemplo:

    $ ps -ejH
    $ ps axjf
    

    As opções importantes aqui são -H para o formato de árvore e / ou -f para o formato completo.

  5. Você também pode obter tudo isso do sistema de arquivos /proc , se quiser. Os filhos do PIDX estão listados em /proc/PIDX/task/PIDX/children . Então, você poderia mostrar uma árvore de todos os processos em execução usando

    ps ax | awk '{print $1}' | while read pid; do 
        printf "%s\n" $pid; 
        grep -o "[0-9]*" "/proc/$pid/task/$pid/children" 2>/dev/null | 
            while read cpid; do 
                printf "  |--%s\n" $cpid; 
            done
    done
    

    Isso é meio bobo, já que está reinventando a roda. Basta usar uma das abordagens acima.

por terdon 17.10.2014 / 15:20