bg和fg指令(整理)以及 Linux中Ctrl+C、Ctrl+D等按键操作进程相关命令
fg(前臺執(zhí)行) frontground
bg(后臺執(zhí)行) background
linux提供的fg和bg命令,可以讓我們輕松調度正在運行的任務
假如你發(fā)現(xiàn)運行的一個程序需要很長的時間,但是需要干別的事情,你就可以用ctrl-z掛起這個程序,然后可以看到系統(tǒng)的提示:
[1]+ Stopped /root/bin/rsync.sh
然后我們可以把程序調度到后臺執(zhí)行:(bg 作業(yè)號)
#bg 1
[1]+ /root/bin/rsync.sh &
(fg命令不加參數(shù)時,使用效果就是讓剛才最近被你掛起的進程返回前臺執(zhí)行)
用jobs命令查看任務
#jobs
[1]+ Running /root/bin/rsync.sh &
把它調回到控制臺運行
#fg 1
/root/bin/rsync.sh
這樣,你這控制臺上就只有等待這個任務完成了。
fg、bg、jobs、&、 ctrl+z都是跟系統(tǒng)任務有關的,學會了相當?shù)膶嵱?/p>
一、&最經(jīng)常被用到
這個用在一個命令的最后,可以把這個命令放到后臺執(zhí)行
二、ctrl + z (掛起) Ctrl+c (強制中斷) Ctrl+d
ctrl + z 可以將一個正在前臺執(zhí)行的命令放到后臺,并且暫停
Ctrl+c和ctrl+z都是中斷命令,但是他們的作用卻不一樣.
Ctrl+c是強制中斷程序的執(zhí)行。
Ctrl+z的是將任務中斷,但是此任務并沒有結束,他仍然在進程中他只是維持掛起的狀態(tài)。
例如:當你vi一個文件時,如果需要用shell執(zhí)行別的操作,但是你又不打算關閉vi,因為你得存盤推出,你可以簡單的按下Ctrl+z,shell會將vi進程掛起~,當你結束了那個shell操作之后,你可以用fg命令繼續(xù)vi你的文件。
Ctrl+d 不是發(fā)送信號,而是表示一個特殊的二進制值,表示 EOF。
鍵盤和shell的交互:
Ctrl-c Kill foreground process 常用
Ctrl-z Suspend foreground process
Ctrl-d Terminate input, or exit shell 常用 有時也會使程序退出,例如沒有參數(shù)的cat命令,從終端讀一行顯示一行,知道Ctrl+D終結輸入并終結進程
Ctrl-s Suspend output
Ctrl-q Resume output
Ctrl-o Discard output
Ctrl-l Clear screen
控制字符都是可以用(stty命令)更改的。可以用stty -a看看終端配置。
但實驗指導書中:我們可以通過鍵盤發(fā)鍵盤中斷信號來喚醒
pctl 父子進程繼續(xù)執(zhí)行,輸入 ctrl+c
三、jobs
查看當前有多少在后臺運行的命令
四、fg
將后臺中的命令調至前臺繼續(xù)運行
如果后臺有多個命令,可以用fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)
五、bg
將一個在后臺暫停的命令,變成繼續(xù)執(zhí)行
如果后臺有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)
總結:
一般命令在前臺執(zhí)行(fg),執(zhí)行完畢后,控制返回給用戶。
在命令后面加上&,它會在后臺執(zhí)行(bg),并將特殊的環(huán)境變量$!設置為該任務的進程ID。這時shell可以并發(fā)執(zhí)行其他命令。
按Ctrl+z可以掛起前臺運行的程序
掛起的程序可以用fg恢復到前臺,或者用bg恢復到后臺
后臺程序試圖寫入數(shù)據(jù)到終端設備時(與寫入標準輸出不同)可能被阻塞。
shell可以等待一個后臺任務執(zhí)行完成,只需使用wait命令,加上進程ID或者任務序號;也可以等待所有的后臺任務,只需使用不加參數(shù)的wait
進程管理
Bash有兩種執(zhí)行命令的模式:批處理模式、并發(fā)模式。
要以批處理模式執(zhí)行命令(即按照順序),必須用;分隔
command1 ; command2
eg: mkdir demo ; cd demo
[hadoop@hadoop000 demo]$
在這個例子中,當command1執(zhí)行完畢,即執(zhí)行command2
要并發(fā)執(zhí)行兩個命令,它們必須用&分隔
command1 & command2
在這種情況下,command1 在后臺執(zhí)行(通過&),從而立即將控制返回到shell,以執(zhí)行command2
參考來源:
https://www.cnblogs.com/suixingc/p/shell-zhong-defg-ming-ling.html
https://www.cnblogs.com/chjbbs/p/6307333.html
https://blog.csdn.net/qq_42914528/article/details/81913482
https://blog.csdn.net/hellocsz/article/details/82085761
總結
以上是生活随笔為你收集整理的bg和fg指令(整理)以及 Linux中Ctrl+C、Ctrl+D等按键操作进程相关命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于实验中的makefile相关知识
- 下一篇: Linux 下 ls -l 命令执行显示