PSを実行すると、列の出力の1つがTTYになります。これは何を意味するのでしょうか?特に、「??」の値としてはどうでしょうか。 「ttys000」と比較?
JavaプログラムがProcessBuilder経由でsort
を実行し、このプログラムがmy IDE(IntelliJ)経由で実行されると、 IDEの外部で実行可能なjarとして実行する場合よりも5分の1になります。
いずれの場合も、並べ替えの実行中にpsを実行しますが、IDEはTTYが??のプロセスを作成しますが、jarはttys000のTTYのプロセスを作成します。
A [〜#〜] tty [〜#〜] はコンピューター端末です。 ps
のコンテキストでは、特定のコマンドを実行したのは端末です。
略称は「TeleTYpewriter」を意味します。これは、ユーザーが初期のコンピューターに接続できるようにするデバイスでした。
状況に応じて、jarは 'ttys000'という名前の仮想端末を作成しますが、IDEは仮想端末に接続してコマンドを実行しません。
プロセスは「制御端末」にバインドできます(通常はバインドされます)。この端末は、シリアル回線の端にあるハードウェアであるか、または今日のほとんどの場合、同等の仮想ソフトウェアである可能性があります。 TTYは親プロセスから継承されます。ほとんどの場合、IDEはTTYとの関連付けを解除し、JavaプログラムはシェルのTTYを継承します。