GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum haben mehrere Instanzen von Mate-Terminal dieselbe Pid?

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.


Linux
  1. Warum ist die PGID der untergeordneten Prozesse nicht die PGID des übergeordneten Prozesses?

  2. Führen Sie parallel mehrere Befehle gleichzeitig im selben Terminal aus

  3. Eröffnen Sie ein neues Terminalfenster mit demselben Verzeichnis wie das vorherige Fenster

  4. Warum hat pvremove eine doppelte Force in der Manpage?

  5. mehrere physische Schnittstellen mit IPs im selben Subnetz

Warum ich Alpine immer noch für E-Mail am Linux-Terminal liebe

So installieren Sie mehrere Discourse-Container auf demselben Server

So hosten Sie mehrere WordPress-Sites auf demselben Server mit Docker

Bleibt eine Prozess-PID garantiert gleich, solange der Prozess nicht stirbt?

Warum kann ich im Terminal nicht scrollen?

Warum haben die Verzeichnisse /home, /usr, /var usw. alle dieselbe Inode-Nummer (2)?