1. 程式人生 > >執行python指令碼後臺執行

執行python指令碼後臺執行

方法一:指令碼後加&
加了&以後可以使指令碼在後臺執行,這樣的話你就可以繼續工作了。但是有一個問題就是你關閉終端連線後,指令碼會停止執行;

python3  run.py >/dev/null 2>&1 &


1
方法二:使用nohup在後臺執行命令

nohup python3  run.py >/dev/null 2>&1 &


1
注意print有輸出緩衝,使用-u引數,使得python不啟用緩衝,這樣就可以同步看到輸出結果了。python -u myscript.py

方法三:使用screen執行命令
通過nohup和&符號在後臺執行命令後,即使你退出登入,這個命令也會一直執行。但是,你無法重新連線到這個會話,要想重新連線到這個會話,你可以使用screen命令。.

Linux的screen命令提供了分離和重新連線一個會話的功能。當你重新連線這個會話的時候,你的終端和你分離的時候一模一樣。

方法四:使用at將一個命令作為批處理執行
https://blog.csdn.net/gxiaop/article/details/55101020

方法五:使用watch連續地執行一個命令
要想按一個固定的間隔不停地執行一個命令,可以使用watch命令,如下所示:

watch df -h
1
另外檢視程序確認指令碼是否在繼續執行的命令
ps -ef | grep python3
1
ps -ef 或者-aux
--------------------- 
作者:張大鵬的部落格 
來源:CSDN 
原文:https://blog.csdn.net/philosophyatmath/article/details/80174687 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關推薦

執行python指令碼後臺執行

方法一:指令碼後加& 加了&以後可以使指令碼在後臺執行,這樣的話你就可以繼續工作了。但是有一個問題就是你關閉終端連線後,指令碼會停止執行; python3  run.py >/dev/null 2>&1 & 1 方法二:使用n

python指令碼後臺執行

問題描述: 環境: CentOS6.4 一個用python寫的監控指令碼test1.py,用while True方式一直執行,在ssh遠端(使用putty終端)時通過以下命令啟動指令碼: python test1.py & 現在指令碼正常執行,通過ps能看

Python指令碼後臺執行的幾種方式

一個用python寫的監控指令碼test1.py,用while True方式一直執行,在ssh遠端(使用putty終端)時通過以下命令啟動指令碼: python test1.py & 現在指令碼正常執行,通過ps能看到程序號,此時直接關閉ssh終端(不是用exi

CentOS下後臺執行Python指令碼及關閉指令碼的一些操作

自己寫了一個python指令碼,但是直接遠端用putty連線後#python xxx.py執行,關閉putty指令碼也隨之關閉了,這裡需要用到‘setsid’這個命令。 #setsid python xxx.py 如此即可將指令碼加入到後臺執行 若想檢視所

(轉載)在後臺執行Python指令碼服務

在伺服器,程式都是後臺執行的,當寫的python指令碼時,需要: 你要是想python robot.py & 是不行的,一旦使用者登出,指令碼就自動退出了。 用at, cron也可以實現。 使用 nohup命令,可以忽略登出的訊號: nohu

Windows下執行python指令碼報錯“ImportError: No Module named ...”的解決方法

之前遇到一個問題,在Pycharm或IPython之類的IDE上執行指令碼正常,但是直接執行或cmd命令列執行的時候報了模組未能找到的 誤——ImportError: No Module named ...。 這是啥情況? Python在啟動直譯器(Interpreter)的時候

python指令碼批量執行redis寫入操作

#!/usr/bin/python # -*- coding: UTF-8 -*- import os import time redisFile = open("redis.txt", "r") for cmd in redisFile.__iter__(): cmd = cmd.

jenkins執行python指令碼

最新在研究使用jenkins做升級釋出功能,大概的操作是選擇產品、模組、環境等引數後,執行一個python指令碼,指令碼獲取使用者選擇引數,然後執行釋出動作。 jenkins執行python指令碼,需要使用python plugin 具體使用方法: 1、安裝python plugin外掛

記一次使用crontab計劃任務執行python指令碼所遇問題及處理的過程

今天把一個python指令碼遷移到Centos7,用crontab執行,期間遇到很多錯誤,最終把所遇問題一一處理,感覺有必要把處理過程記錄下來 1、問題環境 Centos7 x64 python2.7 和python 3.5 有安裝virtualenvwrappe

linux下執行python指令碼的兩種方式

1、直接使用python xxxx.py執行。其中python可以寫成python的絕對路徑。使用which python進行查詢。 2、在檔案的頭部(第一行)寫上#!/usr/bin/python2.7,這個地方使用python的絕對路徑,就是上面用which python查詢來的結果

JAVA使用Runtime.getRuntime()執行python指令碼檔案

java呼叫python(含anaconda) 注意: 1、python指令碼必須都用的是絕對路徑(可以拼接) 2、python指令碼呼叫自定義的模組時要將模組路徑新增到環境中。如果用sys.append(模組絕對路徑),要每一個指令碼都要新增專案所在的路徑。 cmd命令列執行:&n

inotify+rsync實現實時同步(附解決crontab中無法執行python指令碼的問題)

1.準備環境 # 系統支援的話,下面的目錄就會存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait監控目錄狀態變化 /usr/bin/inotif

win cmd執行Python指令碼提示找不到模組問題

Windows關於命令列執行Python指令碼,提示找不到模組的問題,我 本人也是在pycharm上執行沒毛病的,後來在本地搞了個Jenkins做定時任務,誰知道就提示找不到模組 也百度了很多,都是說什麼新增環境變數的,把專案移動到Python目錄的,我都嘗試了沒有成功, 後來才想起來,把檔案裡的所有匯入

命令列執行Python指令碼時傳入引數的三種方式

三種常用的方式 如果在執行python指令碼時需要傳入一些引數,例如gpus與batch_size,可以使用如下三種方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 p

定時執行Python指令碼實現自動簽到

起初學Python最想做的就是實現自動簽到了,而且是全自動的,電腦關機也能執行簽到的那種,後來程式碼實現了但是偏偏驅動器出問題了,也就是程式執行第一步 不能開啟瀏覽器,後來我的pycharm的環境也出各種問題,我亂增改路徑導致我的python的pip指令都執行不了了,或許是以

hadoop執行python指令碼出錯:subprocess failed with code 127

一開始在ubuntu上,用vim寫了兩個.py檔案:mapper.py 和 reducer.py  ,並通過 # hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.6

python-crontab自動任務執行python指令碼中的shell命令

在crongtab -e 中 新增以下,原因環境變數問題 LANG=zh_CN.UTF-8 SHELL=/bin/bash PATH=/bin:/usr/bin:/usr/local/bin:/usr/sbin * * 1 * * python 123.py 有時候可

linux下python程式後臺執行,並將列印資訊儲存檔案

在跑比較時間比較長的程式,或者是列印資訊比較多的程式時,一般都會後臺執行程式,然後把列印資訊儲存在檔案中,等程式執行結束後再檢查輸出日誌。完成該功能可以用如下命令: nuhup python -u test.py > test.log 2>&1 &

在Windows中執行python指令碼

簡介 講一下怎麼在windows中執行.py的指令碼檔案,並看到結果。 環境介紹 系統環境:Windows 10 Python版本:Python 3.5 步驟 第一步:寫一個Python指令碼,儲存為.py的格式,放在一個檔案目錄下。比如放在這個目錄:“C

C#呼叫命令列執行python指令碼,這個辦法可以呼叫python第三方模組和對本地檔案進行操作

string pythonScriptPath = Server.MapPath(@"~\pythonScript");//python指令碼所在的目錄 ProcessStartInfo start = new Pro