2014-01-09 54 views
0

是否可以執行無限進程的shell命令,並且在不使用屏幕命令的情況下並排查看其日誌。推薦使用Subprocess如何在後臺啓動服務並使用子進程並在文件中記錄日誌

例如:

env = os.environ.copy() 
proc = subprocess.Popen(
cmds, 
shell=False, 
stdin=subprocess.PIPE, 
bufsize=0, 
stdout=subprocess.PIPE, 
stderr=subprocess.PIPE, 
env=env) 

其中cmds是一個無限的運行中的進程(即服務)。

回答

0

這樣的:

$CommandThatProduceOutputs 1>/path/to/your/log/file 2>&1 & 

那麼這個過程將昂弗背景和所有性病ERR流將登錄到指定的log文件。

欲瞭解更多詳情,請訪問我的博客linux-shell-redirect

+0

這意味着在我的情況,CMDS這是一個列表,說:CMDS [ '蟒蛇', 'somefile.py','1> /路徑/日誌/ ,'2>&1','&'] – shalini

+0

你想說什麼? – Rugal

+0

我的意思是,什麼是我的cmds,我通過子程序(在我的情況下,cmds是一個列表cmds = [「python」,「p.py」,「 - debug」]) – shalini

相關問題