Какую команду взять, чтобы узнать о программе, какие еще программы инициализируются этой программой?

Да - это касается вопроса, какие команды в терминале возможны, для того, чтобы узнать, какие программы инициализируются (видимые и невидимые) - программой1. (например - когда я только хочу знать, какие программы выполняются программой program1 только с именем "обработчик сбоев"?) Я не имею в виду это здесь:

Шаг 1:

top

И затем шаг 2:

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

Я имею в виду, чтобы перечислить все программы, которые запускаются program1 (даже скрытые процессы...). Этот вопрос будет вознагражден за вознаграждение! (Из-за грозы у меня была амнезия, и я хотел поставить этот вопрос раньше - тогда это предотвратило бы глупые "мистификации" в отношении так называемых "уязвимостей при шоковом ударе" и других новостей...).

Сколько возможных команд будет здесь для этого?! (- не только htop, но и top и pstree ...) - спасибо!

2 ответа

Попробуйте htop:

sudo apt-get install htop
htop

Он имеет древовидное представление (F5) и может отображать все потоки пользователя и ядра (shift+H и shift+K).

Если я правильно понимаю ваш вопрос, вы хотите различные способы, которые могут перечислить дочерние процессы данного процесса. Насколько мне известно, это:

  1. top, запуск top и затем нажмите V. Из 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, Это обычно не устанавливается по умолчанию, поэтому установите с помощью sudo apt-get install htop, Затем нажмите F5 или t. Из 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, Эта простая команда предназначена именно для этого, она показывает запущенные процессы в виде дерева.

  4. ps Сам также может сделать это. Например:

    $ ps -ejH
    $ ps axjf
    

    Важные варианты здесь -H для формата дерева и / или -f для полного формата.

  5. Вы также можете получить все это от /proc файловая система, если вы чувствуете, как это. Дети PIDX перечислены в /proc/PIDX/task/PIDX/children, Таким образом, вы можете показать дерево всех запущенных процессов, используя

    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
    

    Это довольно глупо, потому что он изобретает колесо. Просто используйте один из подходов выше.

Другие вопросы по тегам