プロセスグループとタスクの違いは何ですか?入ってみるとpr * | lpr
プロセスグループでも職務でもしたのでしょうか?プロセスグループIDとジョブIDの違いは正確に何ですか?
編集:私はそれが似ているように見えることを知っていますタスクとプロセスの違いは何ですか?、しかし少し異なります。また、私はこのスレッドの概念を理解していません。
答え1
ㅏプロセスグループUnix カーネルのコンセプトです。それは頻繁に発生しません。以下を呼び出して、グループ内のすべてのプロセスにシグナルを送信できます。kill
システムコールまたは便利否定的な主張で。
プロセスを作成するとき(使用fork
)、親プロセスと同じプロセスグループに残ります。呼び出しにより、プロセスを別のグループに移動できます。setpgid
またはsetpgrp
。これは通常、外部プロセスの起動時に実行される前にシェルで行われます。execve
外部プログラムをロードします。
プロセスグループの主な用途は、次をクリックするときです。Ctrl+C
、Ctrl+Z
またはCtrl+\
到着端末でプログラムを終了または一時停止、端末はプロセスグループ全体に信号を送信します。フォアグラウンドプロセスグループ。詳細は非常に複雑で、シェルやカーネルの実装者が最も興味を持っている部分です。汎用端末インターフェースPOSIX標準に関する章は良い紹介です(UNIXプログラミングの背景知識が必要です)。
タスクはシェルの内部概念です。単純な場合、シェルの各タスクはカーネルのプロセスグループに対応します。