我有兩個python腳本必須同時運行,因爲它們相互交互。一個腳本是在本地運行的「服務器」腳本,另一個腳本是通過套接字連接到它的客戶端腳本。通常情況下,我只需打開一對終端選項卡,然後在其中一個客戶端運行服務器腳本。開始,一遍又一遍停止每個腳本之後,我想作一個bash別名只用一個命令運行的腳本和與此想出了:同時加載兩個python腳本時出現SQLite錯誤
gnome-terminal --tab -e "python server.py" --tab -e "python client.py"
不過,現在的服務器腳本是提高一個SQLite OperationalError說我的一個數據表不存在。但是當我手動運行腳本時,一切正常。我不知道發生了什麼,但我認爲可能一起運行腳本並沒有給服務器腳本足夠的時間來初始化並連接到數據庫。所以我在客戶端腳本中放了一個time.sleep(5),但是一旦啓動,我就會得到相同的錯誤。
任何人都有一個想法可能會發生什麼?或者是否有人知道用一個命令啓動兩個python腳本的替代方法?
你想在睡眠中「睡5」,而不是「時5」。另外,您不想將此睡眠發送到背景。所以:'python server.py&sleep 5; python client.py' – eumiro 2010-09-24 11:14:43
@eumiro:哎呀,謝謝。 – unutbu 2010-09-24 11:16:36
我不明白爲什麼,但您的解決方案完美無缺! -x和-c選項有什麼作用?我在man page中看不到這些內容。 – pythonBOI 2010-09-24 11:28:37