我的代码有效,但是有更好的解决方案吗?
我有一个重启外部工具的操作。有时它会重新启动或启动。我将端口设置为12928.我的checkobject有一个从系统中获取PID的方法。
def pids
%x{netstat -tanp | grep 12928}
end
使用方法pid(下面)我得到了pid。
def pid
/(?<pid>\d+)\//.match(pits.to_s)[:pid].to_i
end
要停止此服务,请使用:
Process.kill("SIGTERM",pid)
Process.detach(pid)
答案 0 :(得分:0)
我发现了一颗名为eye
(https://github.com/kostya/eye)的宝石,灵感来自于蓝宝石和上帝。
看起来很不错,我会尝试一下。
如果有人对此感兴趣,以下是来自存储库的示例:
process :sample1 do
pid_file '1.pid'
start_command 'ruby ./sample.rb'
daemonize true
stdall 'sample1.log'
end
为了开始你的工作:
eye start sample1
要停止此作业,请键入:
eye stop sample1