При открытии нового терминала это становится родительским процессом всех процессов, разветвленных в нем. Но где удар окружает, например, попадите в эту цепочку процесса? Его родитель является терминалом? Все процессы разветвлены в детях оболочки оболочки? Если так, затем когда я изменяю оболочки, почему процессы все еще остаются работать? Короче говоря, где оболочка падает в иерархии процесса?
Действительно родитель процесса удара является терминалом. Вы видите, что иерархия процесса использует эти 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
Родительского процесса В этом примере я запустил sh
процесс (3587) от bash
оболочка (3520)
Существуют хорошие команды, которые могут помочь Вам понять вещи здесь: 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-}]
...