用于检查Mac OS X应用程序当前是否正在运行的Ruby脚本

时间:2011-12-06 04:15:11

标签: ruby macos shell

在ruby脚本中,检查Mac OS X应用程序当前是否正在运行的最佳方法是什么?我正在寻找与AppleScript相当的东西:

if appIsRunning("iChat") then
  ...
end if

on appIsRunning(appName)
  tell application "System Events" to (name of processes) contains appName
end appIsRunning

(但我不想使用AppleScript,因为它有点慢)

1 个答案:

答案 0 :(得分:0)

可能有更好的答案,但一种简单的方法就是这样做:

def app_is_running?(app_name)
  `ps aux` =~ /#{app_name}/ ? true : false
end

在我的系统上执行此操作(OSX Lion,Ruby 1.9.2-p290):

 app_is_running?("iChat")
 => true