background
これらのプロセス概念は、zombie
とdaemon
どのように関連していますかwithout controlling terminal
?
私は彼らがいくつかの点で、特に合格の概念に近いと思いますcontrolling terminal
が、まだ理解していない限り、Linuxに関する記事を読んでいる子供に何かを説明する必要があるように、話す情報はあまりありません。あまりにも多くの嘘のように。
アップデート#1:例えば(本当かどうかはわかりません)
background
-- - 親プロセスがないバックグラウンドプロセスなので、フォアグラウンドzombie
プロセスにはできません。zombie
zombie
daemon
---without ctty
すべてのプロセスdaemons
はなしで実行されますが、ctty
すべてのプロセスがctty
なければ実行されません。daemons
background
--daemon
-aをbackground process
検索して対話式に再実行できます。daemon is not
zombie
--without ctty
- 取り付けるかどうかはzombie
重要ではありません。ctty
background
--- 時々バックグラウンドで送信されデーモンになったり、デーモンから持って来れば死ぬwithout ctty
場合processes
ctty
ctty
ベストアンサー1
つまり、リンクを追加します。
ゾンビ
終了/終了しても親がまだ終了を確認していないプロセス(システムwait()
コールを使用)デッドプロセスはプロセステーブルに保存され、親プロセスに子プロセスの子プロセスの終了と終了のステータスを通知できます。通常、子プロセスを分岐するプログラムはシャットダウン時にシャットダウン状態も読み取るため、親プロセスが停止しているか問題がある場合にのみゾンビを表示できます。
望むより:
制御端末、セッション、フォアグラウンド、バックグラウンド
これは、端末で実行されるシェルコンテキストのジョブ制御に関連しています。ユーザーはログインし、セッションを開始し、端末(制御端末)にバインドし、シェルを開始します。その後、シェルはプロセスを実行し、ユーザーの希望に応じてそれを前景と背景に送信します(を使用してプロセスを開始し、を使用してプロセスを停止します&
)。端末から読み書きする場合、端末に割り込み信号があるとバックグラウンド処理が停止します。フォアグラウンドプロセスは割り込み信号を受け取ります。 (カーネルのターミナルドライバはこれらの信号を処理し、シェルはどのプロセス(グループ)がフォアグラウンドまたはバックグラウンドに送信されるかを制御します。^Z
fg
bg
^C
望むより:
悪魔
デーモンとして実行されるプロセスは通常、特定の端末(またはログインセッションまたはシェル)にバインドしてはいけません。端末が閉じている場合は、信号を受信しないように制御端末があってはなりません。通常、端末はI / Oを実行しないと予想されます。コマンドラインからデーモンを起動するには、端末とのすべての接続を切断する必要があります。つまり、制御端末を削除するには、新しいセッション(上記のタスク制御の意味で)を開始し、端末のファイルハンドルを閉じる必要があります。もちろん、init
systemdなどのログインセッションの外部で開始された操作には、最初からこれらの接続はありません。
デーモンには制御端末がないため、ジョブ制御の対象ではなく、ジョブ制御の意味で「フォアグラウンド」または「バックグラウンド」にあるものも適用されません。また、デーモンはinit
終了時にクリーンアップされるように親が再指定されることが多いため、通常はデーモンをゾンビとして扱いません。
望むより: