Eri*_*ker 3 macos launchd keep-alive plist network-state
任何熟悉launchd
Mac OS X的人,特别是文件部分的NetworkState
(bool
)键?KeepAlive
.plist
在man
页面launchd
上,当Mac上没有网络连接时,应该调用可执行文件,当plist配置如下:
...
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<false/>
</dict>
...
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但是,一旦建立了有效的网络连接(定义为具有至少一个非环回IPv4/6地址的Mac),就launchd
应该停止调用可执行文件(因为该NetworkState
标志应该阻止它).
不过,我看到的行为是,无论 Mac的网络连接如何,都会launchd
一直调用我的程序!这好像完全无视旗帜.launchd
NetworkState
有没有人知道如何使这项工作launchd
只在没有网络连接时调用程序,并在建立网络连接后停止调用它?
我一直试图解决同样的问题,今天我终于意识到了我的误解.
当KeepAlive的任何条件评估为true时,这意味着"确保此进程正在运行".当它们都没有评估为真时,这意味着" 不确保这个过程正在运行",而不是像我希望的那样,"确保这个过程没有运行."
归档时间: |
|
查看次数: |
2831 次 |
最近记录: |