判断 Tomcat 是否为 运行 Ruby

Determine if Tomcat is Running with Ruby

我想确定 Tomcat 是否来自 ruby 脚本 运行ning。我的想法是 运行 下面的 bash 命令来查找 Tomcat

是否有关联的 PID
ps -axe | grep tomcat | grep java | awk '{print }'

当我在 bash 中 运行 命令本身时,如果 Tomcat 是 运行ning,它将 return PID,否则它将 return 没什么。

当我 运行 来自 ruby

的命令时
puts `ps -axe | grep tomcat | grep java | awk '{print }'`

PID 总是会被打印出来,即使 Tomcat 实际上不是 运行ning。为什么 PID 总是 returned in Ruby?我究竟做错了什么?有没有更好的方法来实现我的目标?

您 return 始终是 PID,因为 tomcatjava 也是您用来检查 tomcat 是否为 运行 的命令的一部分。检查 tomcat 是否存在的一种方法是尝试检查您是否可以从 tomcat 服务器下载 url。