最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux讓程序在后臺運行的四種方法

 更新時間:2024年03月05日 11:16:11   作者:Pan_peter  
這篇文章主要介紹了Linux讓程序在后臺運行的四種方法和使用推薦,通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

一、第一種方法(加“&”符號)

如果想讓程序在后臺運行,執(zhí)行程序的時候,命令的最后面加“&”符號。

# 執(zhí)行文件
./test.py &
 
# 查看是否在后臺運行
ps -ef|grep test
 
# 后臺的程序 需要關(guān)閉時,需要kill命令停止
killall [程序名]

注意:這種方法,查看運行日志很不方便(不推薦) 

二、第二種方法(nohup命令) 

# 不推薦使用
nohup python -u test.py > test.log 2>&1 & 

參數(shù)說明:

test.py: 你需要后臺運行的程序

>: 日志文件追加到文件中

test.log: 運行的日志,或你的文件的輸出內(nèi)容

& 是一個描述符,如果1或2前不加&,會被當(dāng)成一個普通文件。

1>&2 意思是把標(biāo)準(zhǔn)輸出重定向到標(biāo)準(zhǔn)錯誤.

2>&1 意思是把標(biāo)準(zhǔn)錯誤輸出重定向到標(biāo)準(zhǔn)輸出。

&>filename 意思是把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出都重定向到文件filename中

# 不推薦使用 
nohup python run.py &
 
# 1、原因:在run.py的目錄默認(rèn)直接生成了nohup.out文件
# 2、原因:有些系統(tǒng)無法執(zhí)行
# 權(quán)限不足時 加sudo
nohup sudo python -u test.py > test.log2>&1 &

三、第三種方法(screen命令)  

Screen是一個全屏窗口管理器,

它在多個進程(通常是交互式shell)之間多路傳輸物理終端。

# centos安裝screen
 yum install -y screen
# 在Ubuntu上安裝并使用screen
sudo apt update  # 更新包列表
sudo apt install screen  # 安裝screen工具
# 創(chuàng)建一個新的窗口
screen -S test
 
# 進入窗口后 執(zhí)行文件
python test.py
 
# 退出當(dāng)前窗口
ctrl+a+d   (方法1:保留當(dāng)前窗口)
screen -d  (方法2:保留當(dāng)前窗口)
exit       (方法3:退出程序,并關(guān)閉窗口)
 
# 查看窗口
screen -ls
 
# 重新連接窗口
screen -r id或窗口名稱
 
# 示例:
screen -r 344 
screen -r test

快捷鍵:

Ctrl+a c :創(chuàng)建窗口
Ctrl+a w :窗口列表 

Ctrl+a n :下一個窗口
Ctrl+a p :上一個窗口

Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換

Ctrl+a K(大寫) :關(guān)閉當(dāng)前窗口,并且切換到下一個窗口
(當(dāng)退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態(tài))

exit :關(guān)閉當(dāng)前窗口,并且切換到下一個窗口
(當(dāng)退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態(tài))

Ctrl+a d :退出當(dāng)前終端,返回加載screen前的shell命令狀態(tài)

四、第四種方法(systemctl命令)

詳情請看:Linux命令之systemctl用法詳解_linux shell_腳本之家 (jb51.net)

因為systemctl比較復(fù)雜,所以這里貼上鏈接

注意:systemctl設(shè)置好之后,可以一勞永逸!

五、總結(jié)

使用推薦

第一種方法不推薦使用 

第二種方法——在需要查看日志的情況下,建議使用(無需在關(guān)閉的那種)

第三種方法——在開啟后,還需要關(guān)閉或還需要輸入一些命令的時候下(推薦)

第四種方法——雖然需要學(xué)習(xí)的時間比前面幾種長,但是學(xué)會之后,會很方便

六、實用操作(重點)

因為以上單個操作,都會一些弊端

1、如果讓進程在后臺運行,并輸出日志(nohup命令),就不方便手動停止進程(需要用ps命令查看進程)

2、如果讓進程在后臺運行,并方便停止(screen命令),就不方便查看程序輸出的日志

因此,我們可以使用組合技!(下面有例子)

1、安裝screen

# 在Ubuntu上安裝并使用screen
sudo apt update  # 更新包列表
sudo apt install screen  # 安裝screen工具
# 安裝screen
 yum install -y screen

2、新建窗口

# 創(chuàng)建一個新的窗口
screen -S test

3、執(zhí)行文件

# 進入窗口后 執(zhí)行文件
python test.py > output.log 2>&1

4、退出該窗口

# 退出當(dāng)前窗口
ctrl+a+d   (方法1:保留當(dāng)前窗口)
screen -d  (方法2:保留當(dāng)前窗口)

5、查看程序輸出文件(output.log)

6、停止程序

# 1、重新連接窗口
screen -r id或窗口名稱
 
# 示例:
screen -r 344 
screen -r test
 
# 2、按 Ctrl + C 停止程序運行

實在不行,就查看程序的運行狀態(tài),也可以通過 ps 命令來查看程序是否在運行

以上就是Linux讓程序在后臺運行的四種方法的詳細(xì)內(nèi)容,更多關(guān)于Linux程序后臺運行的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在 Linux 命令行發(fā)送郵件的 5 種方法(推薦)

    在 Linux 命令行發(fā)送郵件的 5 種方法(推薦)

    這篇文章主要介紹了在 Linux 命令行發(fā)送郵件的 5 種方法,本教程中包含了最流行的 5 個命令行郵件客戶端,你可以選擇其中一個,需要的朋友可以參考下
    2019-12-12
  • 使ApacheBench支持multi-url的方法

    使ApacheBench支持multi-url的方法

    這篇文章主要介紹了使ApacheBench支持multi-url的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 在Linux 服務(wù)器下修改防火墻允許該端口遠程訪問的方法

    在Linux 服務(wù)器下修改防火墻允許該端口遠程訪問的方法

    今天小編就為大家分享一篇在Linux 服務(wù)器下修改防火墻允許該端口遠程訪問的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Linux服務(wù)器80端口無法訪問的解決方案

    Linux服務(wù)器80端口無法訪問的解決方案

    Linux服務(wù)器80端口無法訪問問題多由權(quán)限不足、防火墻未開放或地址錯誤導(dǎo)致,解決步驟包括:切換root用戶綁定端口、確認(rèn)端口開放狀態(tài)、檢查訪問地址正確性、測試HTTP請求處理及處理進程沖突
    2025-07-07
  • Linux下sersync數(shù)據(jù)實時同步

    Linux下sersync數(shù)據(jù)實時同步

    這篇文章主要為大家詳細(xì)介紹了Linux下sersync數(shù)據(jù)實時同步的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Linux的GPIO驅(qū)動程序使用詳解

    Linux的GPIO驅(qū)動程序使用詳解

    文章詳細(xì)解析了Linux系統(tǒng)中GPIO驅(qū)動程序的結(jié)構(gòu)及多層抽象,說明了從硬件寄存器到內(nèi)核與用戶空間API的實現(xiàn)過程,并通過具體開發(fā)板實例,展示了驅(qū)動注冊、訪問與共享機制,總結(jié):Linux GPIO驅(qū)動層次清晰,保障了平臺兼容性與安全訪問
    2025-10-10
  • Linux環(huán)境下部署Kubernetes集群的全過程

    Linux環(huán)境下部署Kubernetes集群的全過程

    在當(dāng)今云原生時代,Kubernetes 已成為容器編排的事實標(biāo)準(zhǔn),掌握 Kubernetes 的部署與運維能力都已成為必備技能,本文將帶你從零開始,在 Linux 環(huán)境中完整部署一個高可用的 Kubernetes 集群,需要的朋友可以參考下
    2026-04-04
  • Centos 7下利用crontab定時執(zhí)行任務(wù)詳解

    Centos 7下利用crontab定時執(zhí)行任務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于Centos 7下利用crontab定時執(zhí)行任務(wù)的相關(guān)資料,文中對crontab進行了詳細(xì)的介紹,并給出了一些實例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • Linux目錄與文件操作方式

    Linux目錄與文件操作方式

    本文詳細(xì)介紹了Linux系統(tǒng)的目錄結(jié)構(gòu)、常用的文件操作命令、文本編輯器vi的使用技巧以及文件壓縮和解壓縮命令。內(nèi)容涵蓋了如cat、grep、vi、gzip等命令的具體用法,適合Linux用戶和開發(fā)者參考學(xué)習(xí)
    2024-09-09
  • linux共享上網(wǎng)設(shè)置實例詳解

    linux共享上網(wǎng)設(shè)置實例詳解

    這篇文章主要介紹了linux共享上網(wǎng)設(shè)置實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論

巨鹿县| 仙桃市| 克什克腾旗| 奉贤区| 上犹县| 唐山市| 延川县| 上犹县| 拉萨市| 闻喜县| 卢氏县| 桃园县| 道真| 禹城市| 南投市| 固阳县| 东辽县| 南通市| 林州市| 疏附县| 秦安县| 林西县| 天镇县| 巩义市| 汾阳市| 甘泉县| 西华县| 淮滨县| 绥芬河市| 玉田县| 达州市| 永春县| 澜沧| 开远市| 彭山县| 万载县| 武隆县| 喀喇沁旗| 静海县| 江永县| 安康市|