從蟒蛇,我調用Java功能:如何停止系統調用的當前執行的python
os.system("java -jar example.jar run myFunction 'inFile.txt' 'outFile.txt' ")
這個功能是處理文件和輸出寫入「outFile.txt」。輸出取決於'inFile.txt'中的信息。在處理輸入文件並寫入輸出文件時,有時'outFile.txt'會變得太大(幾十GB),並且當時我想退出並處理當前的處理並繼續處理另一個inFile.txt文件
有沒有辦法知道我正在寫入的outFile.txt的增長超過了10GB。
編輯: 正如Maksym所建議的,我使用下面的代碼,似乎工作。謝謝
import subprocess
from time import sleep
p = subprocess.Popen(["java", "-jar", "example.jar", "run", "myFunction", "'inFile.txt'", "'outFile.txt'")
rc = p.poll() #returncode
while (rc == None):
sleep(1)
if(os.path.getsize(outFileName) < 1000000000):
rc = p.poll()
continue
else:
p.kill()
break
我編輯我的OP。但是退出條件不正常 – user1140126 2013-03-06 20:52:47