セッションの各プロセスは、セッションが接続されている端末から入力を受け取り、その端末に出力を送信しますか?

セッションの各プロセスは、セッションが接続されている端末から入力を受け取り、その端末に出力を送信しますか?

このチュートリアルの内容は次のとおりです。

各セッションは端末にバインドされ、セッションのプロセスは端末から入力を受け取り、端末に出力を送信します。

端末で一部のプログラム(このプログラム/プロセスは端末に接続されているセッションにあります)を開き、プログラムをファイルにリダイレクトしたstdoutため、この説明は間違っているようです。これで、プログラムは出力を端末に送信しません。

私は正しいですか?

答え1

このステートメントは、名目上の状況を正しく説明します。端末を開き、その端末の独自のセッションでシェルを実行し、シェルでより多くのプログラムを実行します。この声明が一般的に不正確であることは正しいです。すべてのプロセスは、セッション制御端末だけでなく、どこからでも出力を送信して入力を受け取ることができます。シェルリダイレクトは、プロセスの標準入力または出力を端末以外のものにする最も一般的な方法です。

チュートリアルがすべての状況に対処することを期待しないでください。このような場合は理解しにくいです。

関連情報