ジョブは実行中または停止(一時停止)できます。
フォアグラウンドタスクとバックグラウンドタスクについて話すときは、タスクの実行についてのみ話しますか?
バックグラウンドジョブとフォアグラウンドジョブは常に実行されますか?
中止された作業が前景か背景かを区別することは言いますか?
答え1
バックグラウンドジョブ:同じシェルでバックグラウンドで実行されるジョブ。 bg コマンドを使用すると、すべてのバックグラウンドジョブを表示できます。
フォアグラウンドジョブ:目の前の同じシェルで実行されるジョブ。
一時停止したジョブ:停止/一時停止されたジョブですが、実行を再開できます。
たとえば、非常に明確に説明します。
virt00# sleep 180
^Z
zsh: suspended sleep 180
virt00# jobs
[1] + suspended sleep 180
virt00# bg
[1] + continued sleep 180
virt00# fg
[1] + running sleep 180
^Z
zsh: suspended sleep 180
virt00# jobs
[1] + suspended sleep 180
virt00#
という操作を開始sleep 180
し、Ctrl+Z を押して停止しました。今私の仕事は保留されました。
コマンドを入力すると表示されますjobs
。これでバックグラウンドで実行を再開したいので、bg
コマンドを入力すると一時停止状態から実行状態に移行しますが、バックグラウンドでは実行されます。
コマンドを入力してfg
フォアグラウンドにインポートすると、ジョブは段階的に進行しませんが、バックグラウンドジョブキューからフェッチされ、フォアグラウンドジョブキューにプッシュされます。
はい。バックグラウンドジョブとフォアグラウンドジョブは常に実行されます。