Linux任務前後臺的切換 命令

原文

Shell支持作用控制,有以下命令實現前後臺切換:
  1. command & 讓進程在後臺運行
  2. jobs 查看後臺運行的進程
  3. fg %n 讓後臺運行的進程n到前臺來
  4. bg %n 讓進程n到後臺去
  5. kill %n 殺死job
  PS:”n”爲jobs命令查看到的job編號,不是進程編號.
  fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎麼需要用到這些命令,但學會了也是很實用的.

一、& 最經常被用到
  這個用在一個命令的最後,可以把這個命令放到後臺執行

二、ctrl + z
  可以將一個正在前臺執行的命令放到後臺,並且暫停

三、jobs
  查看當前有多少在後臺運行的命令

四、fg
  將後臺中的命令調至前臺繼續運行
  如果後臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)。

五、bg
  將一個在後臺暫停的命令,變成繼續執行
  如果後臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)。

實例:
假設你發現前臺運行的一個程序需要很長的時間,但是需要幹其他的事情,你就可以用 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
這樣,你在控制檯上就只能等待這個任務完成了。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章