python腳本後台執行
Python腳本在linux後台執行加個&就行了
在Windows起Python服務總有不暢
查了一下,可以用start /b python xxx.py後台運行,
這招雖然不影響cmd操作,和扒遲但是關閉cmd窗口後服務也死了
解決這個問題挺麻此灶煩的,需要以Windows服務的方式掛起來
第一步,將Python腳本打包成exe可執行文件,詳見:喚李
用python加cPAMIE加pyinstaller為我柱哥點贊
打包成exe文件以後,cmd執行
㈡ linux中彈不出gui界面
在進行python寫GUI程序的時候,使用Tkinter,發現無局模法執行程序,報錯如下:
X connection to localhost:10.0 broken(explicit kill or server shutdown)
原因分析:
主要是因為環境變數設置不當導致。
解決方法:
報錯的使用的xshell,在這里調用會使用環境變數DISPLAY
報錯前的DISPLAY值為:
$ echo $display
localhost:10.0
進行設置DISPLAY為正確值:
首先查看xshell運行機器的IP地址,在我運行的IP地址為192.168.1.11,從而設置DISPLAY如下:
export DISPLAY=192.168.1.11:0.0
再次運行GUI程序,即可正確的顯示界面。
python在linux上的GUI無法彈出界面的更多相關文章
Nginx+uWSGI+Django+Python在Linux上的部署
搞了一整天,終於以發現自己訪問網路的埠是錯誤的結束了. 首先要安裝Nginx,uWSGI,Django,Python,這些都可以再網上查到. 安告拿裝好後可以用 whereis 命令查看是否安裝好了各種 ...
python腳本linux上後台執行
1.腳本後加& 加了&以後可以使腳本在後台運行,這樣的話你就可以繼續工作了.但是有一個問題就是你關閉終端連接後,腳本會停止運行 python3 run.py >/dev/null ...
使用 Python 在 Linux 上實現一鍵回歸測試
從代碼庫遷出代碼 —- pexpect 的使用 測試人員從代碼庫(例如 CVS )遷出代碼的過程中,需要手動輸入訪問密碼,而 Python 提供了 Pexpect 模塊則能夠將手動輸入密碼這一過程自動 ...
利用python監測linux上的服務(簡單實現服務宕掉自動發送郵件)
python 這里用到了四個python 模塊 : import time (時間模塊) import re (正則模塊) import socket (監測埠模塊)import yagmail ( ...
使用Python獲取Linux系統的各種信息
哪個Python版本? 當我提及Python,所指的就是CPython 2(准確的是2.7).我會顯式提醒那些相同的代碼在CPython 3 (3.3)上是不工作的,以及提供一份解釋不同之處的備選代碼 ...
使用 Python 獲取 Linux 系統信息
探索platform模塊 platform模塊在標准庫中,它有很多運行我們獲得眾多系統信息的函數.讓我們運行Python解釋器來探索它們中的一些函數,那就從platform.uname()函數開始吧: ...
【轉】 使用 Python 獲取 Linux 系統信息
在本文中,我們將會探索使用Python編程語言工具來檢索Linux系統各種信息.走你. 哪個Python版本? 當我提及Python,所指的就是CPython 2(准確的是2.7).我會顯式提醒那些相 ...
在linux上安裝python, jupyter, 虛擬環境(virtualenv)以及 虛擬環境管理之virtualenvwraper
一, 安裝python31.下載python3源碼 wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz2.解壓縮源碼包,去 ...
Python基於Python實現批量上傳文件或目錄到不同的Linux伺服器
基於Python實現批量上傳文件或目錄到不同的Linux伺服器 by:授客 QQ:1033553122 實現功能 1 測試環境 1 使用方法 1 1. 編輯配置文件conf/rootpath_fo ...
隨機推薦
3、Object對象的兩大方法(hashCode-equals)總結
Object類是所有java類的父類. 用戶定義了如下一個Person類 public class Person{} 在類定義中並沒有明確繼承Object類,但是編譯器會自動的完成這個過程. 既然所有 ...
URAL 1250 Sea Burial 簡單Floodfill
問這個人掉落的海域包含幾個島嶼. 八方向相連為同一片海域,四方向相桐友緩連為同一個島嶼.與邊界相連的島嶼不算. 方法:在給定地圖外面填充一圈".",從這個人掉落的地方開始進行floodf ...
CEdit的簡單用法
今晚閑來無事,寫篇博文聊解解悶~ CEdit這個空間類,我之前倒是用過,不過那個時候用的還比較菜,現在么,依舊比較菜~ 首先,因為我今天剛做完了一個區域網聊天軟體,用的就是CEdit來顯示和獲取數據的 ...
簡訊發送AZDG加密演算法
public static string passport_encrypt(string txt, string key) { // 使用隨機數發生器產生 ...
ubuntu 默認 進入 命令行
圖形模式下,首先進入終端:1. 運行 sudo vi/etc/default/grub2. 找到 GRUB_CMDLINE_LINUX_DEFAULT=」quiet splash」3.改為 GRUB_ ...
南陽理工ACM Skiing問題
描述 Michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激.可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你.Michael想知道載一個區域中最長底 ...
sqlserver資源下載
安裝包可以從itellyou下載 NorthWind 安裝SQL2000SampleDb.msi 之後可以在C:\SQL Server 2000 Sample Databases目錄 2016/01/ ...
JavaScript 類的定義和引用 JavaScript高級培訓 自定義對象
在Java語言中,我們可以定義自己的類,並根據這些類創建對象來使用,在Javascript中,我們也可以定義自己的類,例如定義User類.Hashtable類等等. 一,概述 在Java語言中 ...
聚合函數欄位注意.where和having的區別
當使用聚合函數時,出現在select中的欄位要麼出現在聚合函數里,要麼出現在group by 子句里.像下面這句是錯誤的: 1 SELECT detno,AVG(sal),job FROM emp ...
android下身份驗證方式調用webservice
在企業開發領域,webservice還是經常被用到的服務體系,因為他對安全事務支持都比較好. 有時候,我們就需要在android下調用後端的webservice服務,因為在內部網路環境下,所有需要ba ...
熱門專題
㈢ python命令看不懂,求解釋
python /usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py --logging_level=DEBUG --conf_file /etc/contrail/api_server.conf &
這段意思是在後台執行一個路徑下的python腳本,腳本名為vnc_cfg_api_server.py,中間是設置日誌級別以及配置文件的路徑
echo $! >/opt/stack/status/contrail/apiSrv.pid; fg || echo "apiSrv failed to start" | tee "/opt/stack/status/contrail/apiSrv.failure"^M
這段意思是將運行在後台最後的一個進程id寫入到apiSrv.pid文件中,或者列印"apiSrv failed to start"並且將錯誤信息寫入到apiSrv.failure文件中
另外解釋幾個shell中的幾個符號:
$! 是在後台運行的最後的工作的PID(進程ID)
& 是後台運行的一個命令
|| 是或操作符
| 是管道符
^M這個應該你打開的文件是一個linux下的文件,在window會有個這個符號。
整體的意思是執行腳本之前把最後運行的id寫入到一個文件中,如果有錯誤,則列印出來並且也寫入到一個文件,隨後執行那個python腳本
㈣ python如何成服務在後台一直運行,或者讓其隔幾分鍾自動運行一次
如果你中叢只想運行一逗培空次,那麼不用循環幾乎是不可能的。當然你用crontab之類的定時任務來處理也可以。我猜想你登陸之後應該是要做一些操作的,那麼在做任何操作之前你都去判斷一下登陸狀態,如果session過期或者其他原因導致登陸狀態失效,那麼就執行重登陸。
把腳本丟在後台執山瞎行,結果輸出到log,應該沒什麼問題的。
㈤ nohup執行python腳本看不到log
python的輸出有緩沖伏則畝,導致log並不能盯逗夠馬上看到輸出。
-u參數,使得python不啟用緩沖。
所以修改缺森命令即可:nohup python -u test.py > log &
nohup送入後台運行:
nohup python -u train_lanenet.py >nohup 2>&1 &
# 使用第一張到第三張GPU卡
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1,2,3"
㈥ python腳本中怎麼運行saltstack命令
利用saltstack的salt.client模塊可以在python的命令行下或者python腳本里執行相應的salt命令
master端想要執行類似 salt '*' cmd.run 'uptime' 在saltclient里可以這么寫
importsalt.client
local=salt.client.LocalClient()
local.cmd('*','cmd.run',['uptime'])
也可以放到後台執行只返回一個jid
cmd_async('*','cmd.run',['uptime'])
得到jid可以通過get_cache_returns(jid)方法來獲取執行結果,在沒有執行完成以前是為空的所以可以寫一個while來一直讀取結果直到讀取到或者超出規定時間為止
importsalt.client
local=salt.client.LocalClient()
t=0
㈦ 如何在Windows系統中設置Python程序定時運行
首先,你得安裝python的運行環境唄。。 1. 默認的程序要設置,如果不會設置,就重新裝一次python就行 2. 需要設置環境變數:例如你的程序為:C:\Python26,則你需要把這個地址粘貼在:右鍵我的電腦->屬性->高級->環境變數,然後再下邊的 系統變數 選擇框中,雙擊path(大小寫無所謂),在變數值的框中,添加: ;C:\Python26,記得在路徑之前添加分號(;),當然是英文輸入法下的分號 3. 這一點很重要,因為執行的速度很快的時候,cmd窗口是不會自動pause的,所以會一閃而過。。如果只是print之類的語句,或許根本沒有什麼結果留下。。所以,這種還是選擇用IDLE來運行吧。。。
㈧ CentOS下後台運行Python腳本及關閉腳本的一些操作
自己寫了一個python腳本,但是直接遠程用putty連接後#python xxx.py執行,關閉putty腳本也隨之關閉了,這里需要用到『setsid』這個命令。
#setsid python xxx.py
如此即可將腳本加入到後台執行
若想查看所有後台運行的進程
#ps -aux
這里可以看到每個進程都有一個PID,如果想殺死這個進程,則使用
#kill-9[PID]-9表示強迫進程立即停止
nohup python -u test.py > out.log 2>&1 &
㈨ 如何讓 Python 代碼常駐在伺服器進程中
一、nohup
nohup,即 no hangup,nohup 的用途就是讓提交的命令忽略 hangup 信號,從而使我們的進程避免中途被中斷。它可以讓 python 腳本和伺服器連接端的 session 分離,以達到退出後依舊執行:
$ chmod +x /your_path/yourscript.py # 先設置可執行許可權$ nohup python /your_path/yourscript.py# 切記退出的 Terminal 的時候,不要 ctrl+c 退出,而是直接關閉,不然 Nohup 就被你關閉了。
如何關閉這個一直執行的進程呢:
# 找到對應的進程 PID
$ ps -ef | grep python
# 返回內容如:
user 2430 1 0 Jul03 ? 00:00:01 /usr/bin/python -tt /usr/sbin/yum-updatesd
# kill 掉該進程即可:
$ kill -9 2430
PS:nohup 在伺服器重啟之後就失效了,所以並不完美。
二、將命令寫入 Linux 啟動腳本
Linux 在啟動的時候會執行 /etc/rc.local 裡面的腳本,所以只要在這里添加執行命令就可以:
$ vim /etc/rc.local
# 如果是 Centos 添加以下內容:
/your_path/python3.4 /your_path/yourscript.py
# 以上內容需要添加在 exit 命令前,而且由於在執行 rc.local 腳本時,PATH 環境變數未全部初始化,因此命令需要使用絕對路徑。
PS:這種方式的缺點是如果腳本掛了,那麼不會自動重新啟動。
三、使用 Supervisor 進程管理工具
詳見這篇文章:使用 Supervisor 管理伺服器後台進程,在伺服器重啟和腳本出錯後,可以完美重啟,推薦。