婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

Linux中nohup與&的用法和區別詳解

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

示例 :

我們用python代碼loop_hello.py做示例,代碼的作用是循環輸出循環次數和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()

運行loop_hello.py,輸出結果如下:

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

&

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

首先會在終端顯示進程號是2367

鍵入Ctrl + C,發出SIGINT信號,程序會繼續運行

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

nohup

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

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

如果關掉session,程序會不會關閉呢?

  1. 使用ps aux | grep loop_hello查看進程號
  2. 關掉session,程序會收到一個SIGHUP信號
  3. 再次使用ps aux | grep loop_hello,發現進程仍然存在
  4. kill掉進程

測試一下Ctrl +C

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

&和nohup同時使用

使用nohup python loop_hello.py &運行程序,效果如下:

鍵入Ctrl + C,發送SIGINT信號 使用ps aux查看,進程仍然存在

關閉session,發送SIGHUP信號 使用ps aux查看,進程依然存在

如果想要終止進程的話,只能使用kill了

總結 :

使用&后臺運行程序:

  1. 結果會輸出到終端
  2. 使用Ctrl + C發送SIGINT信號,程序免疫
  3. 關閉session發送SIGHUP信號,程序關閉

使用nohup運行程序:

  1. 結果默認會輸出到nohup.out
  2. 使用Ctrl + C發送SIGINT信號,程序關閉
  3. 關閉session發送SIGHUP信號,程序免疫

平日線上經常使用nohup和&配合來啟動程序:

  1. 同時免疫SIGINT和SIGHUP信號

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

標簽:黃石 海南 黔東 南陽 池州 大理 自貢 阿克蘇

巨人網絡通訊聲明:本文標題《Linux中nohup與&的用法和區別詳解》,本文關鍵詞  Linux,中,nohup,與,amp,的,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中nohup與&的用法和區別詳解》相關的同類信息!
  • 本頁收集關于Linux中nohup與&的用法和區別詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 中方县| 江华| 清苑县| 望奎县| 包头市| 重庆市| 博客| 民县| 岳西县| 锡林浩特市| 盐边县| 拉萨市| 南部县| 中阳县| 班玛县| 无锡市| 东源县| 通州区| 津市市| 厦门市| 武清区| 桓仁| 安宁市| 祁连县| 克什克腾旗| 永安市| 双城市| 灵丘县| 文水县| 罗定市| 广灵县| 高青县| 南漳县| 新昌县| 洛浦县| 衡水市| 育儿| 新密市| 襄垣县| 尼木县| 镇康县|