在后台運行Python腳本服務


 

在服務器,程序都是后台運行的,當寫的python腳本時,需要:
 

 

你要是想python robot.py & 是不行的,一旦用戶登出,腳本就自動退出了。用at, cron也可以實現不過我發現了一個命令

nohup,可以忽略登出的信號,現在只要

nohup python robot.py &
就好了。如果想要把 python里面 print的記錄出來,可以這樣

nohup python robot.py & > ./log/log1.log

 

查看后台運行的Python——pid

命令 :ps -ef |grep python

 

linux中根據進程的PID值來查找執行文件的及其路徑  

lsof -p PID

 

1.3 fg 命令(foreground)  

該命令將后台運行的進程調到前台來運行。 具體用法: fg %n。 這里的N 是jobs 看到的jobnumber。 如:

 

下列命令可以用來操縱進程任務:
ps 列出系統中正在運行的進程
kill 發送信號給一個或多個進程(經常用來殺死一個進程)
jobs 列出屬於當前用戶的進程
bg 將進程搬到后台運行(Background)
fg 將進程搬到前台運行(Foreground)

 

=====================================分=隔=線==================================================

今天發現了一個很重要的問題!!!!!

 

發現程序 切換到后台運行后,有時會出現 編碼問題:  'ascii' codec can't encode characters in position ...

並且我也就 在文件頭 聲明了 :# coding=utf-8

出現這種情況,注意加上:

import sys 
reload(sys) 
sys.setdefaultencoding('utf-8')

這幾行代碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM