歡樂的星期一給大家!爲什麼以及如何在可可中創建看門狗/ Objective-C
這是我的情況。任何幫助非常感謝!
我已經創建了一個可執行文件,當它安裝到機器的啓動代理文件夾中時。理論上它應該永遠運行,每秒收集一次數據。它可以在機器睡着時停止,但在重新啓動計算機時重新啓動。
這是我的問題:有時程序只是自發地停止,通常在幾天的運行後。如果重新啓動計算機,則程序將重新啓動,並在出現相同問題之前再運行一段時間。
我不知道這個問題的原因,但一個朋友告訴我,我可以創建一個'看門狗',每分鐘都會檢查我的可執行文件是否正在運行。如果不是,那麼看門狗將重新啓動可執行文件。
任何指針如何做到這一點?我的應用程序是用Objective-C和Cocoa編寫的,並在Mac上運行。
非常感謝!
編輯1
我將解釋應用程序是如何工作的我最大的能力。這基本上是用C語言編寫和Objective C的方法的集合,查詢有關係統每秒信息:
- -bytes傳輸
- - 鍵盤活動 -
- -mouse活動 -
- -percentage硬盤的使用了
- -Process具有鍵盤焦點
...等。
它使用Apple開發人員網站提供的低級別API執行此操作。它每秒將信息寫入文件。每小時文件被壓縮並創建一個新文件。
請詢問是否需要更多的澄清:)
EDIT 2
對於那些誰是想知道,這裏又是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.Intel</string>
<key>OnDemand</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/Library/LaunchAgents/Contents/Intel</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
感謝plist文件.. ..
如果您告訴我們您現在正在做什麼,您可能會獲得更好的運氣。 – jer 2010-09-06 08:50:03
@jer,謝謝你的關注。不確定你想要澄清的是什麼。我的可執行文件是一個收集數據的程序,比如每秒發送的字節數。它是一個啓動時啓動的守護進程,因爲它放置在啓動代理文件夾中,並帶有plist文件。任何意見讚賞。 – 2010-09-06 10:22:48
我要求的是你概述你的程序,不是說它存在,而是因爲你正在尋求替代品時它是如何做的,最好我們知道現在是如何做的。 – jer 2010-09-06 10:39:59