注意:關於如何改進問題的反饋非常好,因爲我仍在學習,我知道沒有代碼,因爲我確信它不需要修復。我在網上進行了大量的研究,似乎無法找到我的問題的答案。當我改變參數以產生較少的輸出時,我的腳本就像它應該那樣工作,所以我知道它工作得很好。我已經調試了腳本並沒有發生錯誤。當我的參數被改變以產生更多輸出並且腳本運行數小時然後停止。我的下面這個問題的目標是確定linux是否會超時運行一個進程(或相關的),以及如何解決這個問題。運行帶有循環的shell腳本時,操作僅停止
我正在運行有幾個對環,其執行以下shell腳本:
- Goes through existing files and copies data into a newly saved/named file
- Makes changes to the data in each file
- Submits these files (which number in the thousands) to another system
劇本是非常基本的(初學者在這裏),但只要我不給它太多的產生,它的工作原理應該如此。但是,如果我希望它遍歷所有可能的情況,這意味着我將生成數以萬計的文件,那麼在一段時間後,shell腳本就會停止運行。
我有足夠的硬盤存儲空間來支持所有正在創建的文件。但需要注意的一點是,在提交文件的部分中,如果他們提交的機器在那個時候已經滿了,我運行的shell腳本將不得不暫停,並等待其他機器機器清除。這個過程工作了一定的時間,但最終shell腳本停止運行,不會繼續。
有沒有辦法讓它繼續或阻止它停止?我輸入control + Z來暫停腳本,然後fg恢復,但它仍然沒有任何作用。我通過輸入ls -la來檢查文件的大小是否在增加,雖然top/ps表示腳本仍在運行,但狀態不是。
從我能看到的(這是什麼),你沒有錯誤。 – chepner
你有錯誤嗎?將'set -x'添加到腳本的頂部,查看它發生錯誤的位置(這將會有很多額外的輸出)。 –
腳本仍在進程列表中,正在睡覺嗎?你能重新啓動腳本嗎? –