いくつかのコールバックイベント処理に基づいてバックグラウンドジョブ完了通知が提供されますか?

いくつかのコールバックイベント処理に基づいてバックグラウンドジョブ完了通知が提供されますか?

Bashのバックグラウンド操作が完了したら、端末に通知します。

$ sleep 3 &
[1] 17527
$ 
[1]+  Done                    sleep 3
  • 通知はいくつかのコールバックイベント処理に基づいていますか?

  • バックグラウンド操作が完了したら、端末に信号を送信して端末に通知しますか?

  • 端末で通知を表示するには、なぜEnterキーを押す必要があります(空のコマンドを実行するなど)。

ベストアンサー1

~からマンページ:

ジョブの状態が変わるたびに、シェルはすぐに学習します。通常bash、他の出力を中断しないように、ジョブ状況の変更を報告するように求めるメッセージが表示されるまで待ちます。組み込みコマンドのオプションが有効になっている場合、-b これらの変更はすぐに報告されます。終了するサブプロセスごとに、すべてのトラップが実行されます。setbashSIGCHLD

Enter通知を表示するためにボタンを押す必要がある理由を説明します。実行して変更できますset -b。今回の仕事とは関係ありません端末、ジョブ制御はシェルによって管理されます。バックグラウンドプロセスが終了すると、親プロセスはSIGCHLDシグナル;通知です。

おすすめ記事