#!/sbin/openrc-run # Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 name=${RC_SVCNAME} description="ToDesk Daemon Service" supervisor="supervise-daemon" healthcheck_delay=3 healthcheck_timer=1 respawn_max=0 command="/opt/todesk/bin/ToDesk_Service" export LIBVA_DRIVER_NAME="iHD" export LIBVA_DRIVERS_PATH="/opt/todesk/bin" depend() { after display-manager need net } healthcheck() { psidt=$(ps -ef | tr -s " " | cut -d " " -f 2,8 | grep '/opt.*bin/ToDesk' | grep -v 'bin/ToDesk_S.*' | grep -v $0 | awk '{print $1}') psidr=$(ps -ef | tr -s " " | cut -d " " -f 2,8 | grep '/opt/todesk/bin/todesk-hold' | grep -v $0 | awk '{print $1}') [[ -z $psidt ]] || [[ -z $psidr ]] || /bin/kill ${psidr} [[ -n $psidt ]] || [[ -n $psidr ]] || return 1 } unhealthy() { start_hold } start_hold() { psidt=$(ps -ef | tr -s " " | cut -d " " -f 2,8 | grep '/opt.*bin/ToDesk' | grep -v 'bin/ToDesk_S.*' | grep -v $0 | awk '{print $1}') psidr=$(ps -ef | tr -s " " | cut -d " " -f 2,8 | grep '/opt/todesk/bin/todesk-hold' | grep -v $0 | awk '{print $1}') [[ -n $psidt ]] || [[ -n $psidr ]] || /opt/todesk/bin/todesk-hold infinity & return 0 } start_pre() { start_hold eend $? } stop_post() { psidr=$(ps -ef | tr -s " " | cut -d " " -f 2,8 | grep '/opt/todesk/bin/todesk-hold' | grep -v $0 | awk '{print $1}') [[ -z $psidr ]] || /bin/kill $psidr eend $? }