[英]Launching a python script in a new terminal from another python script
[英]launching python script process from another script on Ubuntu: how to track status?
我使用命令在Amazon EC2 Ubuntu實例上從另一個Python腳本中啟動一個Python腳本:
os.system(call)
call
有表格的地方
"./script2.py arg1 arg2 arg3"
我注意到,不時會以某種方式終止script2.py
。 我有一些日志記錄,但它們沒有顯示正在發生的事情。 所以我的問題是:
system()
返回某種退出狀態。 區分正常和異常終止的最佳測試是什么? 也就是說,如果存在某種異常終止,我只想在調用腳本中生成一條日志消息。 假設您的子腳本沒有使用標准輸出,並且在崩潰時返回非零(這應該是python
可執行文件的默認值):
import subprocess as sp
try:
sp.check_output(['python', 'child.py'], stderr=sp.STDOUT)
except sp.CalledProcessError as err:
print 'Child terminated abnormally with error %d, log:' % err.returncode
print err.output
1> os.system返回系統代碼如果它返回0進程運行並成功終止但是如果它返回任何數字然后通常它意味着錯誤但是它取決於程序如何響應錯誤我的意思是如果progam在成功時返回1 os.system將返回1
例如
d = os.system('ls')
print d
d = os.system(your process)
print d
2> python提供的syslog模塊你可以嘗試一下
>>>import syslog
>>>help(syslog)
syslog是os本身提供的內置unix api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.