GNU/Linux >> Linux の 問題 >  >> Linux

Mate-terminalの複数のインスタンスが同じPidを持っているのはなぜですか?

私が開始するすべてのメイトターミナルインスタンスは、メイトターミナル内であろうとリンクボタン経由であろうと、同じPIDを持っていることに気づきました。

たとえば、私は次のようなものを手に入れました

 $ 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

これは、すべて同じPIDを持つ複数のターミナルウィンドウがあることを明確に示しています。上記のように、プロセスが端末内で開始されたか、メニューバーのリンクをクリックして開始されたかは関係ありません 。ターミナル内のバックグラウンドでプロセスを開始したかどうかに関係なく、どちらも問題ではありませんでした。

ここで適用されるルール、つまり「なぜそうなのか」は何ですか?
以前は、シェルで開始するすべてのコマンドが一意のPIDを取得することを理解していました。

同じPIDを持つ複数の端末を使用するのは実用的ではありませんか?
PIDで個別にそれらを強制終了することはできなくなりました。

編集:カーネルバージョン:3.16.0-4-amd64

承認された回答:

Mate Terminalのすべてのインスタンスは、実際には複数のウィンドウを表示する単一のプロセスであるため、同じPIDを持っています。 Mate Terminalは、アプリケーションの設計方法であるため、単一のプロセスで実行されます。コマンドmate-terminalを実行すると 、既存のプロセスに接続し、新しいウィンドウを開くように指示を送信します。

Mate Terminal 1.8.1以降、mate-terminal --disable-factoryを実行できます。 新しいプロセスで新しいウィンドウを開きます。このオプションは3.10のGnomeバージョンから削除されていることに注意してください。 Mate開発者がその変更をマージすることを決定したかどうかはわかりません。 Gnome-terminalに関する同様の質問については、「gnome-terminalの真の複数プロセスインスタンスを実行する」を参照してください。


Linux
  1. `md5sum`がインターネットと同じハッシュを与えないのはなぜですか?

  2. Debian – Cifs共有が同じファイルを複数回表示するのはなぜですか?

  3. 同じコンピューター上の複数のDropboxアカウント?

  1. プロセスが死なない限り、プロセス PID は同じままであることが保証されていますか?

  2. 前のウィンドウと同じディレクトリで新しいターミナル ウィンドウを生成する

  3. man ページで pvremove の強制が重複しているのはなぜですか?

  1. 子プロセスのPgidが親のPidではないのはなぜですか?

  2. Linux –なぜ新しいPidは古いものよりも小さいのですか?

  3. /home、/usr、/var などのディレクトリがすべて同じ inode 番号 (2) を持っているのはなぜですか?