Retrospring/docs/justask

64 lines
1.5 KiB
Plaintext
Raw Normal View History

2018-12-12 12:35:45 -08:00
#!/bin/sh
. /etc/rc.subr
name=justask
rcvar=justask_enable
extra_commands="status"
start_precmd="${name}_prestart"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"
load_rc_config $name
: ${justask_enable:=no}
: ${justask_user=justask}
: ${justask_tmux_session_name=justask}
: ${justask_tmux_window_name=justask}
justask_prestart()
{
su -l "$justask_user" -c "exec sh -c 'tmux list-panes -st $justask_tmux_session_name -F \"#{pane_pid}\" >/dev/null 2>&1'"
if [ $? -eq 0 ]; then
echo "justask already running? pane $justask_tmux_session_name exists"
return 1
fi
return 0
}
justask_status()
{
su -l "$justask_user" -c "exec sh -c 'tmux list-panes -st $justask_tmux_session_name -F \"#{pane_pid}\" >/dev/null 2>&1'"
if [ $? -eq 0 ]; then
echo "justask is running"
return 0
fi
echo "justask is not running"
return 1
}
justask_start()
{
echo -n "Starting justask: "
su -l "$justask_user" -c "exec tmux new-session -d -s $justask_tmux_session_name -n $justask_tmux_window_name -c /home/justask '/usr/local/bin/bash /usr/home/justask/start.sh'"
if [ $? -eq 0 ]; then
printf "\033[32;1mok\033[0m\n"
else
printf "\033[31;1mfailed\033[0m\n"
fi
}
justask_stop()
{
echo -n "Stopping justask: "
su -l "$justask_user" -c "exec sh -c 'tmux list-panes -st $justask_tmux_session_name -F \"#{pane_pid}\"' | xargs -t kill"
if [ $? -eq 0 ]; then
printf "\033[32;1mok\033[0m\n"
else
printf "\033[31;1mfailed\033[0m\n"
fi
}
run_rc_command $1