前台后台进程转换问题
進程的前臺和后臺
在linux中有程序在前臺和后臺切換的問題,前臺執(zhí)行的會占用終端,不能釋放比如ping命令。這樣的命令就可以放在后臺執(zhí)行,前臺還能繼續(xù)執(zhí)行其他操作。
看這個ping命令
上面我在執(zhí)行ping命令的過程中輸入ls,但什么都沒有輸出所以這就是前臺執(zhí)行ping過程中在占用前臺資源,ls是什么都不會輸出的。而在命令后加個&,該命令就會在后臺執(zhí)行,但是會在前臺顯示。
上面我在ping的過程中執(zhí)行pwd 這次卻執(zhí)行了。但是ping命令也在執(zhí)行,看著很不舒服但不影響輸入的命令換行也無影響。說了這么多,不知道發(fā)現(xiàn)問題沒有。。。這個影響不到ping命令怎么發(fā)送取消指令呢?
這下問題來了,想要終止ping我的方法是ps -ef|grep “ping”之后再用kill -9 跟上進程號殺死該進程就行了
[root@centos70?~]#?ps?-ef?|grep?ping root??????27389??26574??0?13:20?pts/3????00:00:00?ping?127.0.0.1 root??????27391??27317??0?13:20?pts/5????00:00:00?grep?--color=auto?ping [root@centos70?~]#?kill?-9?27389在后臺運行的進程也有進程號,查看用jobs
[root@centos70?~]#?PING?127.1?(127.0.0.1)?56(84)?bytes?of?data. 64?bytes?from?127.0.0.1:?icmp_seq=1?ttl=64?time=0.073?ms 64?bytes?from?127.0.0.1:?icmp_seq=2?ttl=64?time=0.084?ms jo64?bytes?from?127.0.0.1:?icmp_seq=3?ttl=64?time=0.065?ms bs [1]+??Running?????????????????ping?127.1?&上面代碼因為后臺進程運行不停止,所以標準輸入會錯行。當我輸入jobs是出現(xiàn)running一行那個中括號里面就是進程號。現(xiàn)在就要提及另一個命令了,fg空格跟上進程號可以吧后臺調(diào)回前臺,之后ctrl+c也可以終止該ping命令。
[root@centos70?~]#?ping?127.0.0.1?& 64?bytes?from?127.0.0.1:?icmp_seq=3?ttl=64?time=0.085?ms 64?bytes?from?127.0.0.1:?icmp_seq=4?ttl=64?time=0.094?ms jobs64?bytes?from?127.0.0.1:?icmp_seq=5?ttl=64?time=0.093?ms?????????????????????????????????????????????????????64?bytes?from?127.0.0.1:?icmp_seq=6?ttl=64?time=0.09664?bytes?from?127.0.0.1:?icmp_seq=7?ttl=64?time=0.095?ms 64?bytes?from?127.0.0.1:?icmp_seq=8?ttl=64?time=0.094?ms [1]+??Running?????????????????ping?127.0.0.1?& 64?bytes?from?127.0.0.1:?icmp_seq=9?ttl=64?time=0.089?ms fg?1 ping?127.0.0.1 64?bytes?from?127.0.0.1:?icmp_seq=10?ttl=64?time=0.086?ms ^C ---?127.0.0.1?ping?statistics?--- 10?packets?transmitted,?10?received,?0%?packet?loss,?time?9000ms rtt?min/avg/max/mdev?=?0.085/0.100/0.189/0.032?ms [root@centos70?~]#上面雖然執(zhí)行后臺運行,但是仍可以調(diào)回前臺。
下面搞了一張圖,如有雷同。好吧是我搜的
看圖說話,前臺運行直接快捷鍵就可以后臺休眠。
想要直接后臺,就是命令后跟 ????&
后臺休眠bg 加上進程號直接激活,后臺運行(命令中間有個空格)
后臺兩種情況都可以用fg來調(diào)到前臺。
還有!jobs查看后臺的進程號(可能不只有一種進程)
怎么讓后臺運行的進程進入休眠呢?
在kill命令中有發(fā)信號這種用法,對應數(shù)字加進程可以修改狀態(tài)或殺死進程,這里(kill -19 進程號)就是把后臺運行調(diào)到后臺休眠。其他數(shù)字什么含義這里就不再講解了。
轉(zhuǎn)載于:https://blog.51cto.com/13154101/1964095
與50位技術專家面對面20年技術見證,附贈技術全景圖總結(jié)
以上是生活随笔為你收集整理的前台后台进程转换问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript 卸载事件(on
- 下一篇: 原创:“男怕磨,女怕泡;鸡怕撵,狗怕舔”