皆さん、ハッピーマンデー!
これが私の状況です。どんな支援も大歓迎です!
インストール時にマシンの Launch Agents フォルダーに配置される実行可能ファイルを作成しました。理論的には、毎秒データを収集して永続的に実行する必要があります。マシンがスリープ状態のときは停止できますが、コンピューターが再アクティブ化されると再起動します。
ここに私の問題があります。通常、数日間実行した後、プログラムが自然に停止することがあります。コンピューターを再起動すると、プログラムが再起動し、同じ問題が発生する前にしばらく実行されます。
この問題の理由はわかりませんが、実行可能ファイルが実行されているかどうかを毎分チェックする「ウォッチドッグ」を作成できると友人から言われました。そうでない場合、ウォッチドッグは実行可能ファイルを再起動します。
これを行う方法についての指針はありますか?私のアプリは Objective-C と Cocoa で作成され、Mac 上で実行されます。
本当にありがとう!
編集1
アプリの仕組みをできる限り説明します。これは基本的に、システムに関する情報を毎秒照会する、C および Objective C で記述されたメソッドのコレクションです。
- -送信されたバイト数
- -キーボード活動-
- -マウスの活動-
- -ハードドライブの使用率
- -キーボード フォーカスを持つプロセス
...等。
これは、Apple Developer Web サイトによって提供される低レベル API を使用して行われます。毎秒ファイルに情報を書き込みます。1 時間ごとにファイルが圧縮され、新しいファイルが作成されます。
さらに明確にする必要があるかどうか尋ねてください:)
編集2
疑問に思っている人のために、ここに plist ファイルがあります
<?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>
再度、感謝します....