日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

bg和fg指令(整理)以及 Linux中Ctrl+C、Ctrl+D等按键操作进程相关命令

發(fā)布時間:2025/6/17 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bg和fg指令(整理)以及 Linux中Ctrl+C、Ctrl+D等按键操作进程相关命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

fg(前臺執(zhí)行) frontground
bg(后臺執(zhí)行) background

linux提供的fg和bg命令,可以讓我們輕松調(diào)度正在運(yùn)行的任務(wù)

假如你發(fā)現(xiàn)運(yùn)行的一個程序需要很長的時間,但是需要干別的事情,你就可以用ctrl-z掛起這個程序,然后可以看到系統(tǒng)的提示:

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

然后我們可以把程序調(diào)度到后臺執(zhí)行:(bg 作業(yè)號)

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

(fg命令不加參數(shù)時,使用效果就是讓剛才最近被你掛起的進(jìn)程返回前臺執(zhí)行)

用jobs命令查看任務(wù)

#jobs

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

把它調(diào)回到控制臺運(yùn)行

#fg 1

/root/bin/rsync.sh

這樣,你這控制臺上就只有等待這個任務(wù)完成了。

fg、bg、jobs、&、 ctrl+z都是跟系統(tǒng)任務(wù)有關(guān)的,學(xué)會了相當(dāng)?shù)膶?shí)用

一、&最經(jīng)常被用到

這個用在一個命令的最后,可以把這個命令放到后臺執(zhí)行

二、ctrl + z (掛起) Ctrl+c (強(qiáng)制中斷) Ctrl+d

ctrl + z 可以將一個正在前臺執(zhí)行的命令放到后臺,并且暫停

Ctrl+c和ctrl+z都是中斷命令,但是他們的作用卻不一樣.

Ctrl+c是強(qiáng)制中斷程序的執(zhí)行。

Ctrl+z的是將任務(wù)中斷,但是此任務(wù)并沒有結(jié)束,他仍然在進(jìn)程中他只是維持掛起的狀態(tài)。

例如:當(dāng)你vi一個文件時,如果需要用shell執(zhí)行別的操作,但是你又不打算關(guān)閉vi,因為你得存盤推出,你可以簡單的按下Ctrl+z,shell會將vi進(jìn)程掛起~,當(dāng)你結(jié)束了那個shell操作之后,你可以用fg命令繼續(xù)vi你的文件。

Ctrl+d 不是發(fā)送信號,而是表示一個特殊的二進(jìn)制值,表示 EOF。

鍵盤和shell的交互:

Ctrl-c Kill foreground process 常用
Ctrl-z Suspend foreground process
Ctrl-d Terminate input, or exit shell 常用 有時也會使程序退出,例如沒有參數(shù)的cat命令,從終端讀一行顯示一行,知道Ctrl+D終結(jié)輸入并終結(jié)進(jìn)程
Ctrl-s Suspend output
Ctrl-q Resume output
Ctrl-o Discard output
Ctrl-l Clear screen
控制字符都是可以用(stty命令)更改的。可以用stty -a看看終端配置。

但實(shí)驗指導(dǎo)書中:我們可以通過鍵盤發(fā)鍵盤中斷信號來喚醒
pctl 父子進(jìn)程繼續(xù)執(zhí)行,輸入 ctrl+c

三、jobs

查看當(dāng)前有多少在后臺運(yùn)行的命令

四、fg

將后臺中的命令調(diào)至前臺繼續(xù)運(yùn)行

如果后臺有多個命令,可以用fg %jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)

五、bg

將一個在后臺暫停的命令,變成繼續(xù)執(zhí)行

如果后臺有多個命令,可以用bg %jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)

總結(jié):

一般命令在前臺執(zhí)行(fg),執(zhí)行完畢后,控制返回給用戶。
在命令后面加上&,它會在后臺執(zhí)行(bg),并將特殊的環(huán)境變量$!設(shè)置為該任務(wù)的進(jìn)程ID。這時shell可以并發(fā)執(zhí)行其他命令。
按Ctrl+z可以掛起前臺運(yùn)行的程序
掛起的程序可以用fg恢復(fù)到前臺,或者用bg恢復(fù)到后臺
后臺程序試圖寫入數(shù)據(jù)到終端設(shè)備時(與寫入標(biāo)準(zhǔn)輸出不同)可能被阻塞。
shell可以等待一個后臺任務(wù)執(zhí)行完成,只需使用wait命令,加上進(jìn)程ID或者任務(wù)序號;也可以等待所有的后臺任務(wù),只需使用不加參數(shù)的wait

進(jìn)程管理
Bash有兩種執(zhí)行命令的模式:批處理模式、并發(fā)模式。
要以批處理模式執(zhí)行命令(即按照順序),必須用;分隔
command1 ; command2

eg: mkdir demo ; cd demo
[hadoop@hadoop000 demo]$

在這個例子中,當(dāng)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

總結(jié)

以上是生活随笔為你收集整理的bg和fg指令(整理)以及 Linux中Ctrl+C、Ctrl+D等按键操作进程相关命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。