我在發帖之前到處搜索,但找不到答案..腳本調用時程序凍結!
我需要計算算法執行時間的一些統計數據(Avg,St. Dev。等..),所以我有得到這個啓動算法並輸出補償時間的C++程序(bb.exe)。
每當我從shell啓動這個程序,它需要它的時間,但工作正常。
因爲執行是不是真快,我寫了使用系統的交流計劃(CalculateStat)()調用
system("bb.exe > output.txt");
執行許多次以前的算法,然後計算出需要統計,所以我可以只需啓動「./CalculateStat」,幾個小時後回來查看結果。
CalculateStat輸出(在標準輸出中)每行打印bb.exe。
問題是,當CalculateStat啓動bb.exe時,發生bb.exe無故凍結(每6次計算凍結約2次),所以我必須殺死它(ctrl + c)讓CalculateStat去上。首先,我認爲它可能是來自「系統」調用的問題,所以我編寫了一個perl腳本,它做了幾乎相同的事情,但我遇到了同樣的問題。
任何人有一個建議?
EDIT-- 我因子評分的問題可能是輸出文件的併發訪問,所以我從「CalculateStat」部分讀取文件,只留下連續調用刪除。但它仍然凍結
編輯2 - 哇..它太奇怪了,所以我一直試圖從終端調用原始的bb.exe,它也凍結在那裏..現在我知道問題只是bb隨機凍結,(它在測試過程中從不凍結,它開始凍結在統計計算上..)
無論如何,現在這個問題沒有意義..對不起大家:(
您是否也可以將標準錯誤重定向到文件?它不是在bash中,而是在shell中,不知道它是什麼。 (我想不是command.com了嗎?) – Szocske
我在mac上運行.. 無論如何,我現在正在做它!我會在幾分鐘之內讓你知道! – XelharK
剛剛結冰..我用ctrl-c殺死它,CalculateStat繼續,但沒有輸出錯誤:(它只是凍結.. – XelharK