Closed panosru closed 11 years ago
I think the problem you're running into is that genghisapp (the executable) references genghis.rb using relative paths. Have you tried a shell script which runs genghisapp instead?
#!/usr/bin/env bash
genghisapp
@bobthecow Hello! I actually created this:
#> cat /etc/init.d/genghis
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
cmd="genghisapp"
name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"
get_pid() {
cat "$pid_file"
}
is_running() {
[ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
}
case "$1" in
start)
if is_running; then
echo "Already started"
else
echo "Starting $name"
$cmd > "$stdout_log" 2> "$stderr_log" \
& echo $! > "$pid_file"
if ! is_running; then
echo "Unable to start, see $stdout_log and $stderr_log"
exit 1
fi
fi
;;
stop)
$cmd --kill > "$stdout_log" 2> "%stderr_log"
#if is_running; then
# echo "Stopping $name"
# kill `get_pid`
# rm "$pid_file"
#else
# echo "Not running"
#fi
;;
restart)
$0 stop
$0 start
;;
status)
if is_running; then
echo "Running"
else
echo "Stopped"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
And it works, could be better but at least it work! Any improvement is welcome! :)
Hey, as long as it works, what more can you ask for? ;)
Glad you got it working.
Hello, how can I add genghisapp on debian system boot? I'm not familiar with gems to be honest, I tried to run
ln /usr/local/rvm/gems/ruby-2.0.0-p0/gems/genghisapp-2.2.2/bin/genghisapp /etc/init.d/
but when I run/etc/init.d/genghisapp
I getso
update-rc.d
won't work either.Thanks!