昨天學了下子程序建立,然後自己做例項的時候,發現子程序不執行,而是直接結束了主程序。由於是子程序,所以有沒有錯誤看不見。
結果就是
----start----
-----end-----
錯誤原因是定義worker時,os.getpid()寫錯
之後在函式中加入異常處理即可發現錯誤,即:
def worker(msg):
try:
t_start = time.time()
print("%s開始執行,程序號為%d"%(msg, os.grtpid()))
time.sleep(random.random()*2)
t_stop = time.time()
print(msg,"執行完畢,耗時%0.2f"%(t_stop - t_start))
except exception as ex:
msg = "you cuo wu, shi:%s"%ex
print(ex)
之後便能直接發現問題所在,不用自己一遍遍找,除錯,還可能找不到問題。
try真好用啊_(:3」∠)_
python 3安裝的各種報錯
linux環境下 首先明確問題出現原因,是因為openssl版本過低或者不存在 so 檢視openssl安裝包,發現缺少openssl devel包 root localhost rpm aq grep openssl openssl 0.9.8e 20.el5 openssl 0.9.8e 20....
Python3中的分布式程序
僅僅是看懂了兩份 做個紀念。不過下面的ip位址可以換成本機的ip位址,也可以正常執行 task master.py import random,time,queue from multiprocessing.managers import basemanager 傳送任務的佇列 task queue...
小結 python3 程序中 獲取程序號和殺死程序
遍歷搜尋及測試總結三種方法 1.import os,signal out os.popen ps aux grep xx.py read for line in out.splitlines print line if bcexservices.py in line pid int line.spl...