我已經在運行Angstrom Linux的嵌入式系統(Devkit8000,它是衆所周知的BeagleBoard的克隆版)的c中編寫了一個程序。由crontab執行的程序問題
該程序創建了幾個線程,其中的一個線程負責使用連接到該板的攝像頭拍攝圖片,現在第二個線程僅將該圖像移動到另一個路徑。程序應該在一整天內運行,停止它的唯一方法是發送一個信號。
我編輯了crontab以在特定小時內啓動程序並在必須停止時發送信號,問題是以這種方式啓動程序導致進程在一段時間運行後被終止,但是,如果我手動啓動程序(通過命令行),它完美地工作,不會停止。
我不知道crontab和命令行之間的這種不同行爲的原因。我檢查了系統日誌,但沒有發現任何有用的東西。我也一直在讀一點,發現操作系統可以殺死一個進程,如果它使用這麼多的資源,但沒有意義,這隻發生在只有一種情況(crontab vs手動)...
任何線索關於發生了什麼?
預先感謝您!
與命令行相比,從crontab運行某些內容時,環境變量通常不會相同。確保在啓動應用程序之前設置所有相關的'PATH'變量。還要確保應用程序庫中可能使用的任何環境變量都具有預期值。 – HonkyTonk
正如我所說的cdarke,我會看看我的代碼,以檢查它是否使用任何$ ENV變量:) – Kitinz