run as daemon

This commit is contained in:
Aart van Halteren
2013-07-18 20:59:46 +02:00
parent fab18d422a
commit 4e9ccb42d7
4 changed files with 22 additions and 0 deletions

View File

@@ -5,3 +5,4 @@ gem "mysql2"
gem "serialport"
gem "state_pattern"
gem 'rufus-scheduler'
gem 'daemons'

View File

@@ -14,6 +14,7 @@ GEM
multi_json (~> 1.0)
arel (3.0.2)
builder (3.0.4)
daemons (1.1.9)
i18n (0.6.1)
multi_json (1.7.7)
mysql2 (0.3.11)
@@ -28,6 +29,7 @@ PLATFORMS
DEPENDENCIES
activerecord (= 3.2.13)
daemons
mysql2
rufus-scheduler
serialport

8
daemonize.rb Normal file
View File

@@ -0,0 +1,8 @@
require 'rubygems'
require 'daemons'
pwd = Dir.pwd
Daemons.run_proc('smartmeter', {:dir_mode => :normal, :dir => pwd+"/pids"}) do
Dir.chdir(pwd)
exec "ruby smartmeter.rb"
end

11
etc/smartmeter Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
#
# Startup script (put in /etc/init.d/smartmeter)
#
# description: Starts Smartmeter as an unprivileged user.
#
sudo -u www-data ruby /mnt/usb/ruby/smartmeter/daemonize.rb $1
RETVAL=$?
exit $RETVAL