mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
f671946603
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
75 lines
2.1 KiB
Bash
75 lines
2.1 KiB
Bash
#!/bin/sh
|
|
|
|
# Slackware init script to start/stop/restart nvidia-fabricmanager.
|
|
|
|
# Copyright 2024 GUAN Xin <guanx.bac@gmail.com> from Beijing
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use of this script, with or without modification, is
|
|
# permitted provided that the following conditions are met:
|
|
#
|
|
# 1. Redistributions of this script must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
EXE="/usr/bin/nv-fabricmanager"
|
|
CFG="/usr/share/nvidia/nvswitch/fabricmanager.cfg"
|
|
CMD="$EXE -c $CFG"
|
|
|
|
# Start nvidia-fabricmanager:
|
|
fabricmanager_start() {
|
|
PID=`pgrep -f "$CMD"`
|
|
if [ $PID -gt 0 ] 2>/dev/null; then
|
|
echo "nvidia-fabricmanager is already running as PID $PID" >&2
|
|
exit 3
|
|
elif [ -x $EXE ]; then
|
|
echo "Starting nvidia-fabricmanager: $CMD"
|
|
$CMD
|
|
fi
|
|
}
|
|
|
|
# Stop nvidia-fabricmanager:
|
|
fabricmanager_stop() {
|
|
PID=`pgrep -f "$CMD"`
|
|
if [ $PID -gt 0 ] 2>/dev/null; then
|
|
printf 'Stopping nvidia-fabricmanager (PID %d).' $PID
|
|
kill $PID
|
|
timeout 10 tail --pid=$PID -f /dev/null
|
|
if [ $? -eq 124 ]; then
|
|
echo " Timeout."
|
|
exit 124
|
|
fi
|
|
echo
|
|
fi
|
|
}
|
|
|
|
# Restart nvidia-fabricmanager:
|
|
fabricmanager_restart() {
|
|
fabricmanager_stop
|
|
fabricmanager_start
|
|
}
|
|
|
|
case "$1" in
|
|
'start')
|
|
fabricmanager_start
|
|
;;
|
|
'stop')
|
|
fabricmanager_stop
|
|
;;
|
|
'restart')
|
|
fabricmanager_restart
|
|
;;
|
|
*)
|
|
echo "usage $0 start|stop|restart"
|
|
exit 2
|
|
esac
|