name="pleroma"
rcvar=${name}
command="/usr/pkg/bin/elixir"
-command_args="/usr/pkg/bin/mix phx.server &"
-start_cmd=pleroma_start
+command_args="--detached -S /usr/pkg/bin/mix phx.server"
start_precmd="ulimit -n unlimited"
-pidfile="${pleroma_home}/pleroma/pid"
+pidfile="/dev/null"
pleroma_chdir="${pleroma_home}/pleroma"
pleroma_env="HOME=${pleroma_home} MIX_ENV=prod"
-pleroma_user="pleroma"
-
-pleroma_start()
-{
- echo "Starting ${name}."
- ${start_precmd}
- su -m ${pleroma_user} -c "cd ${pleroma_chdir} && \
- ${pleroma_env} ${command} ${command_args}"
- echo $! > ${pidfile}
-}
check_pidfile()
{
- read _pid _junk < ${pidfile}
- echo -n "$(ps -axo pid | grep ${_pid})"
+ pid=$(pgrep -U "${pleroma_user}" /bin/beam.smp$)
+ echo -n "${pid}"
}
-if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then # newer NetBSD
+if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ # newer NetBSD
load_rc_config ${name}
run_rc_command "$1"
-else # ancient NetBSD, Solaris and illumos, Linux, etc...
+else
+ # ancient NetBSD, Solaris and illumos, Linux, etc...
cmd=${1:-start}
case ${cmd} in
stop)
echo "Stopping ${name}."
- kill `cat ${pidfile}`
- rm ${pidfile}
+ check_pidfile
+ ! [ -n ${pid} ] && kill ${pid}
;;
restart)