91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-19 00:41:17 來源:腳本之家 閱讀:141 作者:TENCENT CLOUD 欄目:服務器

示例 :

我們用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,輸出結果如下:

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

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

&

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

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

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

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

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

nohup

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

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

  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 &運行程序,效果如下:

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

鍵入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信號

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云南省| 南昌县| 拜泉县| 铜鼓县| 嘉义市| 榆中县| 徐州市| 杭州市| 略阳县| 宁陕县| 盐城市| 错那县| 聂荣县| 兰西县| 通城县| 东丽区| 丹江口市| 手机| 芦溪县| 彭州市| 南木林县| 昌平区| 镇雄县| 梨树县| 资兴市| 县级市| 孟村| 民勤县| 天峻县| 本溪| 离岛区| 娄烦县| 兰州市| 普格县| 大英县| 夏津县| 东台市| 旬阳县| 鹿邑县| 黄冈市| 石台县|