pm2/lib/scripts/pm2-freebsd.sh
Manuel Kasper b2785112a8 Fix auto-start on boot
Add rcorder dependency on LOGIN to make auto-start on boot work. Without this, PM2 does not start up automatically on boot on a standard FreeBSD 10.2 installation (even if pm2_enable=YES is set in rc.conf).
2016-03-01 14:49:02 +01:00

65 lines
1.1 KiB
Bash

#!/bin/sh
# PROVIDE: pm2
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name=pm2
rcvar=${name}_enable
load_rc_config $name
: ${pm2_user="%USER%"}
command="%PM2_PATH%"
pidfile="/home/${pm2_user}/.pm2/${name}.pid"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
reload_cmd="${name}_reload"
status_cmd="${name}_status"
extra_commands="reload"
super() {
su - "${pm2_user}" -c "$*"
}
pm2_start() {
unset "${rc_flags}_cmd"
if pm2_running; then
echo "Pm2 is already running, 'pm2 list' to see running processes"
else
echo "Starting pm2."
super $command resurrect
fi
}
pm2_stop() {
echo "Stopping ${name}..."
#super $command dump
super $command delete all
super $command kill
}
pm2_reload() {
echo "Reloading ${name}"
super $command reload all
}
pm2_status() {
super $command list
}
pm2_running() {
process_id=$(pgrep -F ${pidfile})
if [ "${process_id}" -gt 0 ]; then
return 0
else
return 1
fi
}
run_rc_command "$1"