summaryrefslogtreecommitdiff
path: root/installation
diff options
context:
space:
mode:
authorscarlett <nia@netbsd.org>2018-12-16 13:11:17 +0000
committerscarlett <nia@netbsd.org>2018-12-16 13:15:37 +0000
commit4b40e4188c9d9ccbe1c5908fc4bead09ad2c08f2 (patch)
tree65e4828d61c99d685a0f0ba4a70dc6731f5996c0 /installation
parent9d3eda1959197974ad7586a720cabf93b4d4ea0d (diff)
Simplify the NetBSD rc script.
Diffstat (limited to 'installation')
-rwxr-xr-xinstallation/netbsd/rc.d/pleroma29
1 files changed, 10 insertions, 19 deletions
diff --git a/installation/netbsd/rc.d/pleroma b/installation/netbsd/rc.d/pleroma
index 34b818270..1114668ee 100755
--- a/installation/netbsd/rc.d/pleroma
+++ b/installation/netbsd/rc.d/pleroma
@@ -9,34 +9,25 @@ fi
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
@@ -47,8 +38,8 @@ else # ancient NetBSD, Solaris and illumos, Linux, etc...
stop)
echo "Stopping ${name}."
- kill `cat ${pidfile}`
- rm ${pidfile}
+ check_pidfile
+ ! [ -n ${pid} ] && kill ${pid}
;;
restart)