^Zを使用してアプリをバックグラウンドで送信してfg
再起動するために使用しようとしましたが、「停止しました」というメッセージが表示され、他の端末でhtopを監視するとすべてが停止しました。
プロセスを停止/一時停止せずにバックグラウンドで送信する方法はありますか?
答え1
バックグラウンドジョブの実行
コマンドにアンパサンド(&)を追加すると、ジョブはバックグラウンドで実行されます。
たとえば、実行に時間がかかる可能性がある find コマンドを実行している場合は、次のようにバックグラウンドに配置できます。次の例では、過去24時間に変更されたルートファイルシステムの下のすべてのファイルを見つけます。
find / -ctime -1 > /tmp/changed-file-list.txt &
CTRL-Z および bg コマンドを使用して、現在のフォアグラウンド操作をバックグラウンドに送信します。
次のように、すでに実行されているフォアグラウンドジョブをバックグラウンドで送信できます。
CTRL + Zを押すと、現在のフォアグラウンド操作が一時停止します。実行を実行するbg
と、コマンドはバックグラウンドで実行されます。たとえば、バックグラウンドでジョブの実行を忘れた場合は、現在のジョブを終了して新しいバックグラウンドジョブを開始する必要はありません。代わりに、以下のように現在のタスクを一時停止してバックグラウンドに配置してください。
find / -ctime -1 > /tmp/changed-file-list.txt
[CTRL-Z]
[2]+ Stopped find / -ctime -1 > /tmp/changed-file-list.txt
bg
jobs コマンドを使用して、すべてのバックグラウンドジョブを表示します。
jobsコマンドを使用してバックグラウンドジョブを一覧表示できます。 jobs コマンドの出力例は次のとおりです。
jobs
[1] Running bash download-file.sh &
[2]- Running evolution &
[3]+ Done nautilus .
fg コマンドを使用して、ジョブをバックグラウンドからフォアグラウンドに移動します。
コマンドを使用してバックグラウンドジョブをフォアグラウンドにインポートできますfg
。引数なしで実行すると、最新のバックグラウンドジョブがフォアグラウンドとして表示されます。
パグ
複数のバックグラウンドジョブがあり、特定のジョブをフォアグラウンドにインポートするには、jobsコマンドを実行します。これにより、ジョブIDとコマンドが表示されます。
次の例では、fg%1はタスク#1、download-file.shをフォアグラウンドにインポートします。
jobs
[1] Running bash download-file.sh &
[2]- Running evolution &
[3]+ Done nautilus .
# fg %1
特定のバックグラウンドタスクを終了するには、kill%を使用してください。
特定のバックグラウンドジョブの使用を終了するには、%job-numberを終了してください。たとえば、タスク2を終了するには、次のようにします。
kill %2
上記の内容はすべてここからもたらされました。協会。