mirror of https://github.com/ventoy/Ventoy.git
96 lines
1.9 KiB
Bash
96 lines
1.9 KiB
Bash
#!/bin/sh
|
|
|
|
LOGFILE=log.txt
|
|
VUSER=$(get_user)
|
|
|
|
if [ -e $LOGFILE ]; then
|
|
chown $VUSER $LOGFILE
|
|
else
|
|
su $VUSER -c "touch $LOGFILE"
|
|
fi
|
|
|
|
#delete the log.txt if it's more than 8MB
|
|
if [ -f $LOGFILE ]; then
|
|
logsize=$(stat -c '%s' $LOGFILE)
|
|
if [ $logsize -gt 8388608 ]; then
|
|
rm -f $LOGFILE
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ -f ./tool/$TOOLDIR/V2DServer.xz ]; then
|
|
xz -d ./tool/$TOOLDIR/V2DServer.xz
|
|
chmod +x ./tool/$TOOLDIR/V2DServer
|
|
fi
|
|
|
|
rm -rf ./*_VTMPDIR
|
|
vtWebTmpDir=$(mktemp -d -p ./ --suffix=_VTMPDIR)
|
|
chown $VUSER $vtWebTmpDir
|
|
|
|
|
|
V2DServer "$HOST" "$PORT" &
|
|
V2DPid=$!
|
|
sleep 1
|
|
|
|
su $VUSER -c "browser --window-size=550,400 --app=\"http://${HOST}:${PORT}/index.html?chrome-app\" --user-data-dir=$vtWebTmpDir >> $LOGFILE 2>&1" &
|
|
WebPid=$!
|
|
|
|
|
|
vtoy_trap_exit() {
|
|
|
|
[ -d /proc/$V2DPid ] && kill -2 $V2DPid
|
|
[ -d /proc/$WebPid ] && kill -9 $WebPid
|
|
|
|
while [ -n "1" ]; do
|
|
curPid=$(ps -ef | grep -m1 "$vtWebTmpDir" | egrep -v '\sgrep\s' | awk '{print $2}')
|
|
if [ -z "$curPid" ]; then
|
|
break
|
|
fi
|
|
|
|
if [ -d /proc/$curPid ]; then
|
|
kill -9 $curPid
|
|
fi
|
|
done
|
|
|
|
[ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir
|
|
|
|
if [ -n "$OLDDIR" ]; then
|
|
CURDIR=$(pwd)
|
|
if [ "$CURDIR" != "$OLDDIR" ]; then
|
|
cd "$OLDDIR"
|
|
fi
|
|
fi
|
|
|
|
exit 1
|
|
}
|
|
|
|
trap vtoy_trap_exit HUP INT QUIT TSTP
|
|
sleep 1
|
|
|
|
|
|
vtVer=$(cat ventoy/version)
|
|
echo ""
|
|
echo "=================================================="
|
|
if [ "$LANG" = "zh_CN.UTF-8" ]; then
|
|
echo " Ventoy Server $vtVer 已经启动 ..."
|
|
else
|
|
echo " Ventoy Server $vtVer is running ..."
|
|
fi
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "########### Press Ctrl + C to exit ###############"
|
|
echo ""
|
|
|
|
wait $WebPid
|
|
|
|
[ -d /proc/$V2DPid ] && kill -2 $V2DPid
|
|
|
|
[ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir
|
|
|
|
if [ -n "$OLDDIR" ]; then
|
|
CURDIR=$(pwd)
|
|
if [ "$CURDIR" != "$OLDDIR" ]; then
|
|
cd "$OLDDIR"
|
|
fi
|
|
fi
|