Background-Process
+
和 -
在後台作業輸出中的含義
當我執行一堆後台作業時
for s in {1,2,3}; do command_$s &; done;
jobs
我可以用命令看到所有這些$ jobs [2] running command_1 [3] - running command_2 [4] + running command_3
我知道第一列是 ID(例如我可以
kill -9 %2
killcommand_
)但是
+
,-
以及缺少這些手段是什麼?執行man jobs
並jobs -h
不起作用。
在bash 的 Info 手冊中,第 7.1 章,作業控制基礎中有描述:
作業號 n 可以稱為“%n”。符號 ‘%%’ 和 ‘%+’ 指的是 shell 對目前作業的概念,它是最後一個在前台停止或在後台啟動的作業。單個“%”(沒有隨附的作業規範)也指目前作業。可以使用 ‘%-’ 引用以前的作業。如果只有一個作業,“%+”和“%-”都可以用來指代該作業。
在與作業有關的輸出中(例如,
jobs
命令的輸出),目前作業總是用“+”標記,而前一個作業用“-”標記。