+/-バックグラウンドでのジョブが完了した後


21

バックグラウンドでジョブを実行する

$ command &

完了すると、ターミナルは印刷します

[n]+    command

または

[n]-    command

プラスになることもあれば、マイナスになることもあります[n]

plus / minusはどういう意味ですか?

回答:


19

彼らは現在の仕事と以前の仕事を区別するためのものです。最後の仕事と以上の2つのジョブのための第二の最後の仕事、との+最後のための-第二の最後の1のために。

からman bash

前のジョブはを使用して参照できます%-。そこだけ単一のジョブで、場合%+%-の両方そのジョブを参照するために使用することができます。ジョブに関連する出力(jobsコマンドの出力など)では、現在のジョブには常にのフラグが付けられ+、前のジョブに はのフラグが付けられ-ます。

例:

$ sleep 5 &
[1] 21795

$ sleep 5 &
[2] 21796

$ sleep 5 &
[3] 21797

$ sleep 5 &
[4] 21798

$ jobs
[1]   Running                 sleep 5 &
[2]   Running                 sleep 5 &
[3]-  Running                 sleep 5 &
[4]+  Running                 sleep 5 &

$ 
[1]   Done                    sleep 5
[2]   Done                    sleep 5
[3]-  Done                    sleep 5
[4]+  Done                    sleep 5

2

を介してジョブをチェックするときに、あなたが言及していると思います$jobs。ただし、おそらく既にご存知のようにn、ジョブ番号を示します。[n] +呼ばれていた最後の仕事を意味します。 [n] -呼び出される最後から2番目のジョブを示します。

例えば:

chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]-  Running                 sleep 30 &
[2]+  Running                 sleep 50 &

、この場合には、当社が理由ですsleep 50 &:最後である[2]+sleep 30 &、最後に2つ目です。[1]-


状況の説明は不明確であり、システムはどのジョブが最初に終了するかを予測しません。
ジュリーペレティエ

私はあなたの言いたいことを理解します、私は主な点を強調します
クラムツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.