私はいくつかの背景がコマンドjobs
の私の出力を処理して実行し、たとえば次のとおりです。「+」とバックグラウンドジョブのジョブIDの後に接尾辞 "+"と " - "を付けるとどうなりますか?
[1]- RUNNING nohup somecommand1 &
[2]+ RUNNING nohup somecommand2 &
何をしてください「 - 」ジョブIDの後に文字の意味は?
私はいくつかの背景がコマンドjobs
の私の出力を処理して実行し、たとえば次のとおりです。「+」とバックグラウンドジョブのジョブIDの後に接尾辞 "+"と " - "を付けるとどうなりますか?
[1]- RUNNING nohup somecommand1 &
[2]+ RUNNING nohup somecommand2 &
何をしてください「 - 」ジョブIDの後に文字の意味は?
それはSTDOUTの下での仕事のためのマンページにあります:
> man jobs
文字「+」FGやBGユーティリティのデフォルトとして使用される仕事を識別します。このジョブはjob_id%+または "%%"を使用して指定することもできます。文字 ' - 'は、現在のデフォルトジョブが終了する場合にデフォルトになるジョブを識別します。このジョブはjob_id% - を使用して指定することもできます。
したがって '+'とマークされたジョブは 'fg'によってアクティブになるジョブです。
+は、そのプロセスが最後に実行されたことを意味します。 - それはバックグラウンドを入れる前にそれが最後の2番目だったことを意味します。
"fg"を実行した場合、 "fg%1"を明示的に指定しない限り、ジョブ番号2(+)はフォアグラウンドに置かれます。
例:
rock:$ sleep 30m &
[1] 25808
[1002 ~]
rock:$ sleep 45m &
[2] 25813
[1003 ~]
rock:$ jobs
[1]- Running sleep 30m &
[2]+ Running sleep 45m &
[1004 ~]
rock:$ fg
sleep 45m
[2]+ Stopped sleep 45m
[1005 ~]
rock:$ jobs
[1]- Running sleep 30m &
[2]+ Stopped sleep 45m
[1006 ~]
rock:$ fg %1
sleep 30m
[1]+ Stopped sleep 30m
[1007 ~]
rock:$ jobs
[1]+ Stopped sleep 30m
[2]- Stopped sleep 45m
+と最後の行、に注意して - は、場所を変更しました。
ありがとうございます!あなたは確かに良いLinuxディストリビューションを持っています。私が '人の仕事'を打つと、私はパラメータの非常に簡単な説明を得るだけです。 – Benjamin
それは面白いです、あなたはどのディストリビューションを実行していますか? 私はArch Linuxを実行しています。 – ibab
Red Hat Enterprise LinuxをベースにしたScientific Linux。私は一般的な 'bash'マニュアルページを取得し、' jobs'のセクションは単なるパラメータリストです。 STDOUTはありません。 – Benjamin