Linux的bg和fg, nohup命令

2021-06-16 11:59:05 字數 1239 閱讀 2450

1. nohup

要實現守護程序,一種方法是按守護程序的規則去程式設計(本站有文章介紹過),比較麻煩;另一種方法是仍然用普通方法程式設計,然後用nohup命令啟動程式: 

nohup 《程式名》 &

則控制台logout後,程序仍然繼續執行,起到守護程序的作用(雖然它不是嚴格意義上的守護程序)。

使用nohup命令後,原程式的的標準輸出被自動改向到當前目錄下的nohup.out檔案,起到了log的作用,實現了完整的守護程序功能。

2.bg和fg

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg 和 bg 命令,讓我們輕鬆排程正在執行的任務。

假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就可以用 ctrl-z ,掛起這個程式,然後可以看到系統提示(方括號中的是作業號):

[1]+ stopped /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

這樣,你在控制台上就只能等待這個任務完成了。

fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎麼需要用到這些命令,但學會了也是很實用的

一。& 最經常被用到

這個用在乙個命令的最後,可以把這個命令放到後台執行

二。ctrl + z

可以將乙個正在前台執行的命令放到後台,並且暫停

三。jobs

檢視當前有多少在後台執行的命令

四。fg

將後台中的命令調至前台繼續執行

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

五。bg

將乙個在後台暫停的命令,變成繼續執行

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

Linux的bg和fg命令

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg 和 bg 命令,讓我們輕鬆排程正在執行的任務。假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就可以用 ctrl z 掛...

Linux的bg和fg命令

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg 和 bg 命令,讓我們輕鬆排程正在執行的任務。假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就可以用 ctrl z 掛...

Linux的bg和fg命令

我們都知道,在 windows 上面,我們要麼讓乙個程式作為服務在後台一直執行,要麼停止這個服務。而不能讓程式在前台後台之間切換。而 linux 提供了 fg 和 bg 命令,讓我們輕鬆排程正在執行的任務。假設你發現前台執行的乙個程式需要很長的時間,但是需要幹其他的事情,你就可以用 ctrl z 掛...