web-dev-qa-db-ja.com

^ Zはどういう意味ですか?

^ Zを使用してバックグラウンドに送信してアプリケーションを送信しようとしましたが(次にfgを使用して復元します)、htopを監視しているときに別の端末で「停止」と表示され、すべてがフリーズします。

プロセスを停止/一時停止せずにバックグラウンドに送信する方法はありますか?

1
Dominique

バックグラウンドジョブの実行

コマンドにアンパサンド(&)を追加すると、バックグラウンドでジョブが実行されます。

たとえば、実行に時間がかかる可能性のある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コマンドを使用して、バックグラウンドジョブをフォアグラウンドに移動できます。引数なしで実行すると、最新のバックグラウンドジョブがフォアグラウンドになります。

fg

複数のバックグラウンドジョブがあり、特定のジョブをフォアグラウンドに移動したい場合は、ジョブIDとコマンドを表示するjobsコマンドを実行します。

次の例では、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

上記のすべての内容は、これから取得されます リンク

3
Ramesh