如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行? | 您所在的位置:网站首页 › ubuntu如何运行c › 如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行? |
文章描述:如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行? 本文介绍了如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述我已经编写了一个脚本,它通过串行接口将我的UPS数据解析为json文件,每5秒无限循环一次: require 'json' pipe = IO.popen("apcaccess") upsdata_h = {} data = [] while true pipe = IO.popen("apcaccess") upsdata_h[:ups] = {} data = [] while (line = pipe.gets) data = line.split(':') upsdata_h[:ups][data[0].strip] = data[1].strip end puts "Internal temperature: #{upsdata_h[:ups]['ITEMP']}" File.open("upsdata.json", "w") do |f| f.write(upsdata_h.to_json) end sleep 5 end我还有另一个小程序,可以用Sinatra创建一个小API: require 'sinatra' set :bind, '0.0.0.0' get '/api/upsdata' do content_type :json File.read('upsdata.json') end我想将它们都作为服务在我的ubuntu服务器15.04中运行。我如何让脚本像ubuntu的其他服务一样永远在后台运行?我是否也应该将Sinatra包括在服务中,以便它在引导时加载? 推荐答案您可以使用upstart单独启动每个服务。 启动脚本位于/etc/init中,扩展名为.conf,如/etc/init/myscript.conf。 这里有一个简单的启动脚本示例: #!upstart description "my server" author "Me" start on filesystem stop on runlevel [!2345] respawn script /path/to/ruby /path/to/script end script此部分就位后,您可以使用start myscript 手动启动服务这篇关于如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! 发布时间:2023-03-13 07:30:40本文链接:https://www.cdbsd.net/jiaoben/b547dca77c2ca306672d84c8fefa5ca8.html 文章版权声明:除非注明,否则均为贝斯达系统下载网 原创文章,转载或复制请以超链接形式并注明出处。 |
CopyRight 2018-2019 实验室设备网 版权所有 |