run as daemon
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -5,3 +5,4 @@ gem "mysql2"
|
|||||||
gem "serialport"
|
gem "serialport"
|
||||||
gem "state_pattern"
|
gem "state_pattern"
|
||||||
gem 'rufus-scheduler'
|
gem 'rufus-scheduler'
|
||||||
|
gem 'daemons'
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ GEM
|
|||||||
multi_json (~> 1.0)
|
multi_json (~> 1.0)
|
||||||
arel (3.0.2)
|
arel (3.0.2)
|
||||||
builder (3.0.4)
|
builder (3.0.4)
|
||||||
|
daemons (1.1.9)
|
||||||
i18n (0.6.1)
|
i18n (0.6.1)
|
||||||
multi_json (1.7.7)
|
multi_json (1.7.7)
|
||||||
mysql2 (0.3.11)
|
mysql2 (0.3.11)
|
||||||
@@ -28,6 +29,7 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
activerecord (= 3.2.13)
|
activerecord (= 3.2.13)
|
||||||
|
daemons
|
||||||
mysql2
|
mysql2
|
||||||
rufus-scheduler
|
rufus-scheduler
|
||||||
serialport
|
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