【发布时间】:2013-05-14 11:44:21
【问题描述】:
由于启动项和rc 命令在 OS X 上都被弃用(并且在许多情况下根本不起作用)以支持launchd,我想找出正确的方法是设置在注销/关机时运行的 shell 脚本。
对于启动项,可以创建类似于以下内容的 shell 脚本:
#!/bin/sh
StartService() {
echo "Started."
}
StopService() {
echo "Stopped."
}
RunService "$1"
但是从launchd 运行脚本时不支持RunService 命令,而且我不确定它是否打算再使用。
如果可能,我想创建一个 shell 脚本,作为按需服务提供给 launchd,该服务将在接近关机时启动并以某种方式通知系统正在关闭。
或者,我可能需要一个在登录/系统启动时打开并保持运行(或者更确切地说是休眠)的 shell 脚本,直到收到SIGTERM 或其他终止信号,以便它可以在关闭之前运行一些命令。
【问题讨论】:
-
查看 (apple.stackexchange.com/questions/16825/…) 以获得类似的答案,
man launchd.plist提供了您可以使用的变体的详细信息。请注意手册页的 Expectations 部分。