run as daemon
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -5,3 +5,4 @@ gem "mysql2"
|
||||
gem "serialport"
|
||||
gem "state_pattern"
|
||||
gem 'rufus-scheduler'
|
||||
gem 'daemons'
|
||||
|
||||
@@ -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
8
daemonize.rb
Normal 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
11
etc/smartmeter
Normal 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
|
||||
Reference in New Issue
Block a user