デーモンプロセスとはどのプロセスかについてhttps://unix.stackexchange.com/a/175396/674説明する
システムがグラフィカル環境を実行すると大きな問題が発生します。 GUIプログラム(Chromiumなど)は端末に接続されていないため、出力にも表示されます。
...基本的に、私たちは端末を制御せず、GUIプログラムを除くすべてのプログラムを表示したいと思います。幸いなことに、GUIプロセスを一覧表示できるプログラムがあります。
xlsclients
制御端末を持たないXクライアントはデーモンとして機能できますか?
制御端末なしでGUIプログラムを実行するプロセスはデーモンになることができますか?
リンクは両方の質問に「いいえ」と言うようです。制御端末なしでXクライアント(またはGUIプログラムを実行するプロセス)をデーモンではないものにするデーモンは何ですか?それはデーモンの定義が何であるかに依存します。
気づく:
XクライアントとGUIプログラムは同じ概念ですか?リンクに「はい」と出ているようです。しかし、参考にしてくださいXクライアントには必ずウィンドウがある必要はありません。、私の考えでは、GUIプログラムプロセスには少なくとも1つのウィンドウが必要です。特に、Xクライアントはウィンドウなしでデーモンとして実行できますか?
すべてのプロセス(Xクライアント、GUIプログラム、およびその他のプロセス)は、コントロール端末があるかどうかにかかわらず、プロセスセッションに存在することができます(たとえば、XクライアントまたはGUIプログラムが制御端末があるシェルから起動されたとき、実行されるときなど)メニューのデスクトップ環境です)。デーモンのプロセスセッションは制御端末を持つことができないため、制御端末がない場合を考慮しています。
ありがとうございます。
答え1
私はそれがほとんど定義の問題だと言いたいと思います。以前に定義された仕様(制御端末なし)X(またはワットその問題については) – 私が知っている限り – 少なくとも数年 – 。したがって、定義は必ずしも拡張環境と互換性がある必要はありません。
デーモンの定義が次のような場合「制御端末なし」、Xクライアントかどうか、アクティブな表示ウィンドウがあるかどうかにかかわらず(ホットキーを受信するオーディオボリュームマネージャを想像してみてください)、それはまさにそれです。
より広い定義を採用することを決定した場合(例:ウィキペディア入り口):
対話型ユーザーの直接制御を受けずにバックグラウンドプロセスとして実行されるコンピュータプログラム。
まあ、それはそのようなプログラムが実際に何をしているかによって異なります - システムモニタ(例:コンキ)は読み取り専用GUIを持つデーモンに適した候補です。私の観点からは、制御端末を持つことが必ずしもそのような広範な定義を妨げるわけではありません(もちろん良いアイデアだとは思わないがTM )。
しかし、デスクトップ環境には最終的に制御端末があるかもしれません(startx
または実際の実装によっては制御端末(セッションが始まる端末)があります。