Linux任務前后臺的切換
?
?
Shell支持作用控制,有以下命令實現前后臺切換:
1. command& 讓進程在后臺運行
2. jobs 查看后臺運行的進程
3. fg %n 讓后臺運行的進程n到前臺來
4. bg %n 讓進程n到后臺去
? ? ? 5. kill %n 殺死job
? ? ? 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
這樣,你在控制臺上就只能等待這個任務完成了。?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
