1. 程式人生 > >Linux 程序任務的前後臺執行的切換

Linux 程序任務的前後臺執行的切換

Linux 程序前後臺的切換

1. 實現程序前後臺切換的 Shell 命令:

  1. command &:可以讓 command 程序在後臺執行
  2. jobs 命令: 可以檢視後臺執行的程序
  3. ctrl + z 組合鍵:可將一個正在前臺執行的命令放到後臺,並且暫停
  4. fg %jobnumber : 將後臺中的命令調至前臺繼續執行,可以用 fg %jobnumber 將選中的命令調出,%jobnumber 是通過 jobs 命令查到的後臺正在執行的命令的序號(不是 PID )
  5. bg %jobnumber:將一個在後臺暫停的命令,變成繼續執行,可以用 bg %jobnumber 將選中的命令調出,%jobnumber 是通過 jobs 命令查到的後臺正在執行的命令的序號(不是 PID )
  6. kill %jobnumber: 殺死 job

fg、bg、jobs、&、ctrl + z 都是跟系統任務有關的,雖然基本上不怎麼需要用到,但學會了也是很實用的。

2. 程序前後臺切換應用例項:

假設你發現前臺執行的一個程式需要很長的時間,但是需要幹其他的事情:

第一步:用 Ctrl + Z ,暫停程式,可以看到系統提示:

[1]+ Stopped /root/bin/rsync.sh

如果沒有此提示,用 jobs 命令檢視任務:

#jobs
[1]+ suspended /root/bin/rsync.sh &

第二步:把程式排程到後臺執行:(bg 後面的數字為作業號)

#bg %1
[1]+ /root/bin/rsync.sh &

第三步:用 jobs 命令檢視正在執行的任務:

#jobs
[1]+ Running /root/bin/rsync.sh &

第四步:調回到前臺執行

#fg %1
/root/bin/rsync.sh

這樣,在控制檯上就只能等待這個任務結束。