Я заметил, что не было никаких названных процессов"gnome-terminal
"хотя я использовал так называемый"gnome-terminal
"который был вызван путем нажатия на значок в строке меню на рабочем столе.
$ ps -au | grep gnome
cul8er 8763 0.1 0.8 554960 33268 pts/22 Sl 05:16 0:00 /usr/lib/gnome-terminal/gnome-terminal-server --app-id com.canonical.Terminal.AnAuzDeiSeoqQhlGKbPNPeHhAROwBwtP
cul8er 8771 0.0 0.0 14852 1832 pts/22 S 05:16 0:00 gnome-pty-helper
cul8er 8821 0.0 0.0 14656 2232 pts/23 S+ 05:27 0:00 grep --color=auto gnome
Таким образом, я ввел gnome-terminal &
. вывод был следующим:
$ gnome-terminal &
[2] 8865
$
[2]+ 終了 gnome-terminal
$ echo $LANG
ja_JP.UTF-8
Этот результат, кажется, показывает что процесс gnome-terminal
вышедший сразу, когда эмулятор терминала был отображен. Если это верно, почему я могу видеть новый терминал без процесса, связанного с ним?
Таким образом, я проверил команду gnome-terminal
:
$ which gnome-terminal
/usr/bin/gnome-terminal
$ file /usr/bin/gnome-terminal
/usr/bin/gnome-terminal: Python script, ASCII text executable
gnome-terminal
a python
сценарий.
Я посмотрел на него. Я не мог понять достаточно, потому что я не знаю python
, однако я заметил /usr/lib/gnome-terminal/gnome-terminal-server --app-id
, который показали в выводе ps
, связан с этой проблемой. Но я не знаю то, что делает'subprocess
'и'Popen
'средний.
subprocess.Popen(['/usr/lib/gnome-terminal/gnome-terminal-server',
'--app-id',
name],
stdout=subprocess.DEVNULL,
stdin=subprocess.DEVNULL,
stderr=subprocess.DEVNULL)
Если подпроцессы вызываются каждый раз, когда gnome-terminal
выполнения сценария, несколько процессов должны работать, когда я открываю терминалы гнома. Однако всегда кажется, что существует только один процесс /usr/lib/gnome-terminal/gnome-terminal-server --app-id
в ps
вывод.
Что продолжается, в то время как сценарий работает?
И где процесс, который представляет так называемый"gnome-terminal
"?
ОС: Ubuntu 15.04
Единственный процесс /usr/lib/gnome-terminal/gnome-terminal-server
является процессом, обрабатывающим все Ваши окна терминала гнома.
команда gnome-terminal
разжигает gnome-terminal-server
, если она уже не работает, или соединяется с существующим экземпляром и просит, чтобы это открыло новое окно.
, Если каждый вызов команды gnome-terminal
открыл само новое окно и таким образом, каждое окно терминала было обработано его собственным отдельным процессом, Вы не будете в состоянии к drag-n-drop вкладкам через них. Это - я живо самая важная причина позади этого дизайна. Могли бы быть другие причины также, я не уверен.