Mate Terminalの複数のインスタンスが同じPIDを持つのはなぜですか?

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

ベストアンサー1

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

Mate Terminal 1.8.1以降、mate-terminal --disable-factory新しいプロセスを実行して新しいウィンドウを開くことができます。このオプションではGnomeバージョン3.10から削除されました;Mate開発者がその変更をマージすることにしたかどうかはわかりません。バラよりgnome-terminalの実際のマルチプロセスインスタンスの実行Gnome端末に関する同様の質問です。

おすすめ記事