Background-Process

+- 在後台作業輸出中的含義

  • February 27, 2018

當我執行一堆後台作業時

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 %2kill command_

但是+-以及缺少這些手段是什麼?執行man jobsjobs -h不起作用。

bash 的 Info 手冊中,第 7.1 章,作業控制基礎中有描述:

作業號 n 可以稱為“%n”。符號 ‘%%’ 和 ‘%+’ 指的是 shell 對目前作業的概念,它是最後一個在前台停止或在後台啟動的作業。單個“%”(沒有隨附的作業規範)也指目前作業。可以使用 ‘%-’ 引用以前的作業。如果只有一個作業,“%+”和“%-”都可以用來指代該作業。

在與作業有關的輸出中(例如,jobs命令的輸出),目前作業總是用“+”標記,而前一個作業用“-”標記。

引用自:https://serverfault.com/questions/899108