10

我有一个使用 growlnotify 发送通知的 bash 脚本。但是,如果 Growl 尚未运行,则 growlnotify 不起作用,并且如果需要它也不会自动启动 Growl。所以我希望能够检查 Growl 是否正在运行,如果没有则启动它。
我正在考虑做类似的事情:

g=$(ps -e | grep Growl | grep -v grep)
if [ -z "$g" ]  # Growl isn't running
then
# (start Growl)
fi

我将如何通过命令行启动 Growl?

4

2 回答 2

11

通常,Growl 安装程序将确保进行安装的用户获得一个登录启动项,该项目启动GrowlHelperApp.app,即 Growl 的通知守护程序。该应用程序内置在 Growl PreferencePane 中,因此您无法保证它的位置;它可能位于/Library/PreferencePanes或中~/Library/PreferencePanes,具体取决于 Growl 的安装方式。如果您觉得您不能信任用户做正确的事情,您可以使用其捆绑标识符以与位置无关的方式从命令行手动启动帮助应用程序:

open -b com.Growl.GrowlHelperApp
于 2010-04-02T04:32:46.817 回答
0
pgrep growlnotify || growlnotify <options> &
于 2010-04-02T02:45:23.200 回答