Mir ist aufgefallen, dass alle Mate-Terminal-Instanzen, die ich starte, sei es in einem Mate-Terminal oder über einen Link-Button, die gleiche PID haben.
Ich habe zum Beispiel etwas wie
$ wmctrl -lp
<omitted lines that don't matter>
0x03c0001f 1 7411 <hostname> Terminal
0x03c06b9f 1 7411 <hostname> Terminal
0x03c07349 1 7411 <hostname> Terminal
0x03c073f4 1 7411 <hostname> Terminal
0x03c0749f 1 7411 <hostname> Terminal
0x03c0754c 1 7411 <hostname> Terminal
0x03c075f9 1 7411 <hostname> Terminal
0x03c076a6 1 7411 <hostname> Terminal
0x0340000b 1 <pid1> <hostname> xeyes
0x0460000b 1 <pid2> <hostname> xeyes
was deutlich zeigt, dass es mehrere Terminalfenster gibt, alle mit der gleichen PID. Wie oben erwähnt, spielte es keine Rolle, ob der Prozess in einem Terminal oder durch Klicken auf einen Menüleisten-Link gestartet wurde . Es spielte auch keine Rolle, ob ich den Prozess im Hintergrund im Terminal gestartet habe oder nicht.
Was ist hier die angewandte Regel, oder „warum ist das so?“?
Mein Verständnis war früher, dass jeder Befehl, den ich in einer Shell starte, eine eindeutige PID erhalten würde.
Ist es nicht irgendwie unpraktisch, mehrere Terminals mit derselben PID zu haben?
Ich kann sie nicht mehr einzeln per PID töten.
Bearbeiten:Kernelversion:3.16.0-4-amd64
Akzeptierte Antwort:
Alle Instanzen von Mate Terminal haben dieselbe PID, da es sich tatsächlich um einen einzelnen Prozess handelt, der mehrere Fenster anzeigt. Mate Terminal wird in einem einzigen Prozess ausgeführt, da die Anwendung so konzipiert ist. Wenn Sie den Befehl mate-terminal
ausführen , kontaktiert es den bestehenden Prozess und sendet ihm eine Anweisung, ein neues Fenster zu öffnen.
Ab Mate Terminal 1.8.1 können Sie mate-terminal --disable-factory
ausführen um ein neues Fenster in einem neuen Prozess zu öffnen. Beachten Sie, dass diese Option aus der Gnome-Version in 3.10 entfernt wurde; Ich weiß nicht, ob die Mate-Entwickler beschlossen haben, diese Änderung zusammenzuführen. Eine ähnliche Frage zu Gnome-Terminal finden Sie unter Ausführen mehrerer echter Prozessinstanzen von gnome-terminal.