OSX用户代理keepAlive打开应用程序两次

时间:2015-03-03 20:37:24

标签: macos duplicates user-agent launchd

我有一台运行OS X Yosemite(10.10.2)的MacBook Pro,我非常喜欢 BetterTouchTool 。这是一个很棒的程序,但它往往会经常意外崩溃。为了解决这个问题,我尝试制作一个用户代理,如果它崩溃或者我不小心关闭它,它将重新打开 BetterTouchTool

我在编写用户代理时使用“keepAlive”函数执行此操作。这种方法完美地解决了我上面提到的问题,但有一个意想不到的副作用。每当计算机从睡眠状态唤醒时,代理就会打开一个重复的BetterTouchTool!我正在寻找一种方法来防止这种情况发生,例如告诉代理在运行之前检查 BetterTouchTool 的另一个实例,或者在计算机休眠时自动退出 BetterTouchTool 。如果我尝试keepAlive其他程序(例如TextEdit),似乎不会发生这种重复问题。

<?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>Disabled</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>local.BetterTouchTool.keepAlive</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/BetterTouchTool.app/Contents/MacOS/BetterTouchTool</string>
    </array>
</dict>
</plist>

任何帮助表示赞赏!我还有Lingon和LaunchControl,用于管理代理和守护进程,如果您更喜欢使用它们。谢谢!

0 个答案:

没有答案