濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux中nohup與&的用法和區(qū)別詳解

Linux中nohup與&的用法和區(qū)別詳解

熱門標(biāo)簽:外呼系統(tǒng)打哪顯哪 北海市地圖標(biāo)注app 新科美甲店地圖標(biāo)注 江西外呼系統(tǒng) 高德地圖標(biāo)注論壇 湖北ai智能電銷機(jī)器人 AI電銷機(jī)器人 源碼 蘭州ai電銷機(jī)器人招商 新邵電銷機(jī)器人企業(yè)

示例 :

我們用python代碼loop_hello.py做示例,代碼的作用是循環(huán)輸出循環(huán)次數(shù)和hello world!,每次輸出后sleep 1秒

示例代碼如下:

import time
 
def main():
 i = 0 
 while True:
  i += 1
  print('%d: hello world!' %(i))
  time.sleep(1)
 
if '__main__' == __name__:
 main()

運(yùn)行l(wèi)oop_hello.py,輸出結(jié)果如下:

程序每隔一秒會在終端輸出一個字符串,此時如果鍵入Ctrl+C ,程序會收到一個SIGINT信號,如果不做特殊處理,程序的默認(rèn)行為是終止(如上圖)。

&

使用 python loop_hello.py &,效果如下所示:

首先會在終端顯示進(jìn)程號是2367

鍵入Ctrl + C,發(fā)出SIGINT信號,程序會繼續(xù)運(yùn)行

關(guān)掉session,程序會收到一個SIGHUP信號,通過ps aux | grep loop_hello.py可以看到,進(jìn)程2367也關(guān)閉了

nohup

使用nohup python loop_hello.py,效果如下:

  1. 前臺沒有出現(xiàn)進(jìn)程號
  2. 有一個“忽略輸入并把輸出追加到"nohup.out"”的提示
  3. hello的輸出也沒有出現(xiàn)在前臺

如果關(guān)掉session,程序會不會關(guān)閉呢?

  1. 使用ps aux | grep loop_hello查看進(jìn)程號
  2. 關(guān)掉session,程序會收到一個SIGHUP信號
  3. 再次使用ps aux | grep loop_hello,發(fā)現(xiàn)進(jìn)程仍然存在
  4. kill掉進(jìn)程

測試一下Ctrl +C

使用nohup啟動loop_hello.py,如果鍵入Ctrl+C ,程序收到SIGINT信號后,直接關(guān)閉了

&和nohup同時使用

使用nohup python loop_hello.py &運(yùn)行程序,效果如下:

鍵入Ctrl + C,發(fā)送SIGINT信號 使用ps aux查看,進(jìn)程仍然存在

關(guān)閉session,發(fā)送SIGHUP信號 使用ps aux查看,進(jìn)程依然存在

如果想要終止進(jìn)程的話,只能使用kill了

總結(jié) :

使用&后臺運(yùn)行程序:

  1. 結(jié)果會輸出到終端
  2. 使用Ctrl + C發(fā)送SIGINT信號,程序免疫
  3. 關(guān)閉session發(fā)送SIGHUP信號,程序關(guān)閉

使用nohup運(yùn)行程序:

  1. 結(jié)果默認(rèn)會輸出到nohup.out
  2. 使用Ctrl + C發(fā)送SIGINT信號,程序關(guān)閉
  3. 關(guān)閉session發(fā)送SIGHUP信號,程序免疫

平日線上經(jīng)常使用nohup和&配合來啟動程序:

  1. 同時免疫SIGINT和SIGHUP信號

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

標(biāo)簽:黃石 海南 黔東 南陽 池州 大理 自貢 阿克蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中nohup與&的用法和區(qū)別詳解》,本文關(guān)鍵詞  Linux,中,nohup,與,amp,的,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux中nohup與&的用法和區(qū)別詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux中nohup與&的用法和區(qū)別詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    大庆市| 庆城县| 浦县| 班戈县| 鹿邑县| 慈溪市| 安义县| 浦东新区| 牙克石市| 五原县| 土默特左旗| 南汇区| 景东| 穆棱市| 曲沃县| 兴和县| 阜平县| 马尔康县| 临潭县| 德清县| 兰坪| 横山县| 柯坪县| 平顶山市| 通江县| 南华县| 巩留县| 荣昌县| 长宁区| 永吉县| 栖霞市| 阿拉善左旗| 镇平县| 克东县| 临城县| 洛浦县| 临海市| 巴彦淖尔市| 镶黄旗| 大港区| 涪陵区|