где оболочка попадает в иерархию процесса?

При открытии нового терминала это становится родительским процессом всех процессов, разветвленных в нем. Но где удар окружает, например, попадите в эту цепочку процесса? Его родитель является терминалом? Все процессы разветвлены в детях оболочки оболочки? Если так, затем когда я изменяю оболочки, почему процессы все еще остаются работать? Короче говоря, где оболочка падает в иерархии процесса?

2
задан 14 March 2014 в 00:56

2 ответа

Действительно родитель процесса удара является терминалом. Вы видите, что иерархия процесса использует эти ps -aef команда:

$ ps -aef
UID        PID  PPID  C STIME TTY          TIME CMD
[...]
sylvain   3510  1862  2 22:02 ?        00:00:01 gnome-terminal
[...]
sylvain   3520  3510  0 22:02 pts/1    00:00:00 bash
sylvain   3587  3520  0 22:03 pts/1    00:00:00 sh
  • PID: идентификатор
  • Процесса PPID: идентификатор

Родительского процесса В этом примере я запустил sh процесс (3587) от bash оболочка (3520)

2
ответ дан 8 October 2019 в 11:45

Существуют хорошие команды, которые могут помочь Вам понять вещи здесь: pstree.

Шоу дерево процесса текущего процесса (в оболочке, $ заменен с PID оболочки):

(0)samsung-rmano:~% pstree -s $
init───gdm───gdm-simple-slav───gdm-session-wor───init───gnome-terminal-───zsh───pstree

Показ PIDs:

(0)samsung-rmano:~% pstree -s -p $
init(1)───gdm(1128)───gdm-simple-slav(1203)───gdm-session-wor(1933)───init(1955)───gnome-terminal-(2340)───zsh(23005)───pstree(23044)

целое дерево системного процесса, с текущей выделенной оболочкой (открывают очень большой терминал!---выделение не видим здесь):

 (0)samsung-rmano:~% pstree -h 
 ...
 ├─gdm─┬─gdm-simple-slav─┬─Xorg───4*[{Xorg}]
 │     │                 ├─gdm-session-wor─┬─init─┬─Notifications_h
 │     │                 │                 │      ├─Translator
 │     │                 │                 │      ├─at-spi-bus-laun─┬─dbus-daemon
 │     │                 │                 │      │                 └─3*[{at-spi-bus-laun}]
 │     │                 │                 │      ├─at-spi2-registr───{at-spi2-registr}
 │     │                 │                 │      ├─darktable───47*[{darktable}]
 │     │                 │                 │      ├─dbus-daemon
 │     │                 │                 │      ├─dconf-service───2*[{dconf-service}]
 │     │                 │                 │      ├─dropbox───30*[{dropbox}]
 │     │                 │                 │      ├─evolution-calen───4*[{evolution-calen}]
 │     │                 │                 │      ├─evolution-sourc───2*[{evolution-sourc}]
 │     │                 │                 │      ├─firefox─┬─plugin-containe───10*[{plugin-containe}]
 │     │                 │                 │      │         └─43*[{firefox}]
 │     │                 │                 │      ├─gconfd-2
 │     │                 │                 │      ├─gnome-session─┬─deja-dup-monito───2*[{deja-dup-monito}]
 │     │                 │                 │      │               ├─gnome-shell─┬─alarmclock───3*[{alarmclock}]
 │     │                 │                 │      │               │             ├─cairo-dock───3*[{cairo-dock}]
 │     │                 │                 │      │               │             └─6*[{gnome-shell}]
 │     │                 │                 │      │               ├─tracker-miner-f───3*[{tracker-miner-f}]
 │     │                 │                 │      │               ├─tracker-store───7*[{tracker-store}]
 │     │                 │                 │      │               ├─update-notifier───3*[{update-notifier}]
 │     │                 │                 │      │               ├─vino-server───2*[{vino-server}]
 │     │                 │                 │      │               ├─zeitgeist-datah───10*[{zeitgeist-datah}]
 │     │                 │                 │      │               └─3*[{gnome-session}]
 │     │                 │                 │      ├─gnome-settings-─┬─syndaemon
 │     │                 │                 │      │                 └─4*[{gnome-settings-}]
 │     │                 │                 │      ├─gnome-shell-cal───4*[{gnome-shell-cal}]
 │     │                 │                 │      ├─gnome-terminal-─┬─gnome-pty-helpe
 │     │                 │                 │      │                 ├─slogger
 │     │                 │                 │      │                 ├─3*[zsh]
 │     │                 │                 │      │                 ├─zsh───man───pager
 │     │                 │                 │      │                 ├─zsh───python3
 │     │                 │                 │      │                 ├─zsh───pstree
 │     │                 │                 │      │                 └─3*[{gnome-terminal-}]
...
1
ответ дан 8 October 2019 в 11:45

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

Похожие вопросы: