linux job control管理
阿新 • • 發佈:2017-05-10
管理 使用 stopped 會有 nbsp pid bash top span
bash只能管理自己的工作而不能管理其他bash的工作,即使是root用戶也無法做到.bash的工作分為前臺與後臺.
我們在只有一個bash的環境情況下,如果要同時進行多個進程工作,那麽可以把某一工作直接丟到後臺去.
使用"&"直接將命令丟到後臺.
-->while true;do echo a>/dev/null;done & [1] 1778 #[1]表示job number,1778表示循環進程號PID -->jobs # jobs用來查看後臺的工作狀態 [1]+ Running while true; do #[1]表示job number,+代表默認的取用工作,也是最近被放置到後臺的工作號碼 echo a > /dev/null; done &
#後臺有兩個進程
-->vi aaaaa
[2]+ Stopped vi aaaaa
-->
-->jbs -l #-l表示除了列出job number和我們執行的命令之外,同時列出進程號PID
[1]- 1778 Running while true; do #[-]表示第二近被放進後臺的任務,如果超過3個,則不會有更多的+/-號了
echo a > /dev/null;
done &
[2]+ 35145 Suspended: 18 vi aaaaa #這裏job number[2]後面的"+"表示job number [2]是最近被放到後臺執行的命令.
#超過3個進程子後臺
-->vi bb
[3]+ Stopped vi bb
-->
-->jobs
[1] Running while true; do
echo a > /dev/null;
done &
[2]- Stopped vi aaaaa
[3]+ Stopped vi bb
#jobs的參數
- -l 表示-l表示除了列出job number和我們執行的命令之外,同時列出進程號PID
- -r 列出正在運行的後臺任務
- -s 列出stopped狀態的後臺任務
-->jobs -l
[1] 1778 Running while true; do
echo a > /dev/null;
done &
[2]- 35145 Suspended: 18 vi aaaaa
[3]+ 56362 Suspended: 18 vi bb
-->
-->jobs -lr
[1] 1778 Running while true; do
echo a > /dev/null;
done &
-->jobs -ls
[2]- 35145 Suspended: 18 vi aaaaa
[3]+ 56362 Suspended: 18 vi bb
-->
將後臺工作拿到前臺,可以使用 fg [%]+jobnumber,"%"可以省略.
fg 默認把有加號的拿到前臺來.
fg N 把job number=N的任務拿到前臺.
linux job control管理