mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
65 lines
1.1 KiB
Smarty
65 lines
1.1 KiB
Smarty
#!/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"
|