背景、ゾンビ、デーモン、ctty - これらの概念は関連していますか?

背景、ゾンビ、デーモン、ctty - これらの概念は関連していますか?

backgroundこれらのプロセス概念は、zombiedaemonどのように関連していますかwithout controlling terminal

私は彼らがいくつかの点で、特に合格の概念に近いと思いますcontrolling terminalが、まだ理解していない限り、Linuxに関する記事を読んでいる子供に何かを説明する必要があるように、話す情報はあまりありません。あまりにも多くの嘘のように。

アップデート#1:例えば(本当かどうかはわかりません)

  • background-- - 親プロセスがないバックグラウンドプロセスなので、フォアグラウンドzombieプロセスにはできません。zombiezombie
  • daemon---without cttyすべてのプロセスdaemonsはなしで実行されますが、cttyすべてのプロセスがcttyなければ実行されません。daemons
  • background-- daemon-aをbackground process検索して対話式に再実行できます。daemon is not
  • zombie-- without ctty- 取り付けるかどうかはzombie重要ではありません。ctty
  • background--- 時々バックグラウンドで送信されデーモンになったり、デーモンから持って来れば死ぬwithout ctty場合processescttyctty

ベストアンサー1

つまり、リンクを追加します。

ゾンビ

終了/終了しても親がまだ終了を確認していないプロセス(システムwait()コールを使用)デッドプロセスはプロセステーブルに保存され、親プロセスに子プロセスの子プロセスの終了と終了のステータスを通知できます。通常、子プロセスを分岐するプログラムはシャットダウン時にシャットダウン状態も読み取るため、親プロセスが停止しているか問題がある場合にのみゾンビを表示できます。

望むより:

制御端末、セッション、フォアグラウンド、バックグラウンド

これは、端末で実行されるシェルコンテキストのジョブ制御に関連しています。ユーザーはログインし、セッションを開始し、端末(制御端末)にバインドし、シェルを開始します。その後、シェルはプロセスを実行し、ユーザーの希望に応じてそれを前景と背景に送信します(を使用してプロセスを開始し、を使用してプロセスを停止します&)。端末から読み書きする場合、端末に割り込み信号があるとバックグラウンド処理が停止します。フォアグラウンドプロセスは割り込み信号を受け取ります。 (カーネルのターミナルドライバはこれらの信号を処理し、シェルはどのプロセス(グループ)がフォアグラウンドまたはバックグラウンドに送信されるかを制御します。^Zfgbg^C

望むより:

悪魔

デーモンとして実行されるプロセスは通常、特定の端末(またはログインセッションまたはシェル)にバインドしてはいけません。端末が閉じている場合は、信号を受信しないように制御端末があってはなりません。通常、端末はI / Oを実行しないと予想されます。コマンドラインからデーモンを起動するには、端末とのすべての接続を切断する必要があります。つまり、制御端末を削除するには、新しいセッション(上記のタスク制御の意味で)を開始し、端末のファイルハンドルを閉じる必要があります。もちろん、initsystemdなどのログインセッションの外部で開始された操作には、最初からこれらの接続はありません。

デーモンには制御端末がないため、ジョブ制御の対象ではなく、ジョブ制御の意味で「フォアグラウンド」または「バックグラウンド」にあるものも適用されません。また、デーモンはinit終了時にクリーンアップされるように親が再指定されることが多いため、通常はデーモンをゾンビとして扱いません。

望むより:

おすすめ記事