Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # PROVIDE: www
- # REQUIRE: LOGIN FILESYSTEMS
- # KEYWORD: shutdown
- . /etc/rc.subr
- name="www"
- rcvar="${name}_enable"
- load_rc_config "${name}"
- run_dir="/var/run/${name}"
- pidfile="${run_dir}/${name}.pid"
- log_dir="/var/log/${name}"
- user="www_daemon"
- app="/mnt/www/main.js"
- pm2="/usr/local/bin/node /usr/local/bin/pm2"
- pm2_start_args="-s --name ${name} --pid ${pidfile} --log ${log_dir}/pm2.log --output /dev/null --error ${log_dir}/pm2-err.log"
- extra_commands="status"
- start_cmd="${name}_start"
- stop_cmd="${name}_stop"
- restart_cmd="${name}_restart"
- status_cmd="${name}_status"
- PATH="$PATH:/usr/local/bin"
- www_start () {
- if env PM2_HOME="${run_dir}/pm2" \
- su -m "${user}" -c "${pm2} start ${app} ${pm2_start_args}"; then
- echo "Starting ${name}."
- else
- warn "Problem starting ${name}."
- fi
- }
- www_stop () {
- if env PM2_HOME="${run_dir}/pm2" \
- su -m "${user}" -c "${pm2} stop ${name} -s"; then
- echo "Stopping ${name}."
- su -m "${user}" -c "${pm2} kill -s"
- else
- warn "Problem stopping ${name}."
- fi
- }
- www_restart () {
- if env PM2_HOME="${run_dir}/pm2" \
- su -m "${user}" -c "${pm2} restart ${name} -s"; then
- echo "[PM2] Restarting ${name}."
- else
- warn "Problem restarting ${name}."
- fi
- }
- www_status () {
- if ! env PM2_HOME="${run_dir}/pm2" \
- su -m "${user}" -c "${pm2} describe ${name} --no-color"; then
- #pm2 is automatically launched on query, kill it if not using
- su -m "${user}" -c "${pm2} kill -s"
- fi
- }
- run_rc_command "$1"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement