如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行? 您所在的位置:网站首页 ubuntu如何运行c 如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行?

如何在ubuntu中将ruby脚本作为服务(包括sinatra)运行?

2023-03-27 10:20| 来源: 网络整理| 查看: 265

文章描述:如何在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 实验室设备网 版权所有