祝大家周一快乐!
这是我的情况。非常感谢任何帮助!
我创建了一个可执行文件,安装后它被放置在机器的 Launch Agents 文件夹中。从理论上讲,它应该永远运行,每秒收集数据。它可以在机器睡眠时停止,但在重新激活计算机时重新启动。
这是我的问题:有时程序会自发停止,通常是在运行几天后。如果重新启动计算机,则程序会重新启动并再次运行一段时间,然后才会出现相同的问题。
我不知道这个问题的原因,但一位朋友告诉我,我可以创建一个“看门狗”,每分钟都会检查我的可执行文件是否正在运行。如果不是,那么看门狗将重新启动可执行文件。
关于如何做到这一点的任何指示?我的应用程序是用 Objective-C 和 Cocoa 编写的,可以在 Mac 上运行。
非常感谢!
编辑 1
我将尽我所能解释该应用程序如何工作。它基本上是用 C 和 Objective C 编写的方法的集合,每秒查询有关系统的信息:
- - 传输的字节数
- -键盘活动-
- -鼠标活动-
- - 硬盘驱动器用完的百分比
- - 具有键盘焦点的进程
...ETC。
它使用 Apple Developer 网站提供的低级 API 来执行此操作。它每秒将信息写入一个文件。每小时压缩文件并创建一个新文件。
请询问是否需要更多说明:)
编辑 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>
再次感谢....