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

Linux –それは制御端末を持っているプロセスですか、それとも制御端末を持っているセッションですか?

プロセスに制御端末があると言うとき、それはプロセス自体に制御端末があることを意味しますか、それともプロセスが属するセッションに制御端末があることを意味しますか?

以前は制御端末を持っているセッションだと思っていましたが、次に(ここから)制御端末を持っているプロセスであることを意味する以下を読みました:

プロセスの属性の1つは、その制御端末です。 forkで作成された子
プロセスは、親プロセスから
制御端末を継承します。このようにして、セッション内のすべてのプロセスは
セッションリーダーから制御端末を継承します。端末を制御する
セッションリーダーは、その端末の制御
プロセスと呼ばれます。

承認された回答:

それは確かに制御端末を持っているセッションです

Single UNIX Specification 制御端末の観点から関係を説明します 「セッションに関連付けられている」。続けて指定すると、制御端末はセッションと1:1の関係になります。セッションには「最大で1つの制御端末」が関連付けられ、「制御端末は1つのセッションにのみ関連付けられます」。

FreeBSD設計と実装 本はこれに少し異なってアプローチしますが、同じ場所に到達します。同じセッションを共有するプロセスが異なる制御端末を持つことはできません。また、単一の端末が複数のセッションの制御端末になることもできません。

FreeBSDの内部では、これがデータ構造が実際に機能する方法です。プロセス構造には、pgrpへのポインタがあります プロセスが属するプロセスグループを表す構造。これは、sessionを指します。 プロセスグループが属するセッションを表す構造。これは、ttyを指します。 セッションの制御端末の構造。

Linuxの内部では、物事は少し複雑です。各task_struct pidへの一連のポインタがあります プロセスグループIDとセッションIDの構造。プロセスごとのsignal_structへの別のポインタがあります ttyを直接指す構造 制御端末の構造。

さらに読む

  • George V. Neville-Neil、Marshall Kirk McKusick、Robert N.M. Watson(2014-09-25)。 「プロセス管理」。 FreeBSDオペレーティングシステムの設計と実装 。アディソン-ウェスリープロフェッショナル。 ISBN9780133761832。
  • Donald Lewine(1991)。 「ターミナルI/O」。 POSIXプログラマーガイド 。 O’Reilly Media、Inc.ISBN9780937175736。
  • Daniel P. Bovet and Marco Cesati(2005)。 「プロセス」。 Linuxカーネルについて:I/Oポートからプロセス管理まで 。第3版。 O’Reilly Media、Inc.ISBN9780596554910。
  • 「定義」。 OpenGroupベースの仕様 。発行7.2016.IEEE 1003.1:2008。
  • 「一般的なターミナルインターフェイス」。 OpenGroupベースの仕様 。発行7.2016.IEEE 1003.1:2008。
関連:Linux – bashコマンドを使用してフォルダーを一覧表示する方法は?
Linux
  1. 初心者向けのLinuxターミナルガイド

  2. Linuxターミナルでファイルをコピーする

  3. 所有権を剥奪されてターミナルを失ったプロセスの出力はどうなりますか?

  1. Linuxターミナルでファイルの名前を変更します

  2. Linuxターミナルでファイルを移動する

  3. XMLStarletを使用してLinuxターミナルでXMLを解析します

  1. Linux端末の色を変更する方法

  2. Linuxターミナルでラジオを聞く

  3. Linuxでスクリーンプロセスを停止するには?