代码拉取完成,页面将自动刷新
同步操作将从 sagoo/sagooiot 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/bin/bash
WORKSPACE=$(cd "$(dirname "$0")" || exit; pwd)
cd "$WORKSPACE" || exit
readonly app='sagooiot'
readonly pidfile="var/$app.pid"
readonly logfile="var/$app.log"
mkdir -p var
check_pid() {
if [[ -f $pidfile ]]; then
local pid=$(cat "$pidfile")
if [[ -n $pid ]]; then
local running=$(ps -p "$pid" | grep -c -v "PID TTY")
return "$running"
fi
fi
return 0
}
start() {
check_pid
local running=$?
if [[ $running -gt 0 ]]; then
printf "%s now is running already, pid: %s\n" "$app" "$(cat "$pidfile")"
return 1
fi
nohup "./$app" >> "$logfile" 2>&1 &
sleep 1
running=$(ps -p $! | grep -c -v "PID TTY")
if [[ $running -gt 0 ]]; then
echo $! > "$pidfile"
printf "%s started... pid: %s\n" "$app" "$!"
else
printf "%s failed to start.\n" "$app"
return 1
fi
}
stop() {
check_pid
local running=$?
if [[ $running -gt 0 ]]; then
local pid=$(cat "$pidfile")
kill "$pid"
rm -f "$pidfile"
printf "%s stopped.\n" "$app"
else
printf "%s is not running.\n" "$app"
fi
}
restart() {
stop
sleep 1
start
}
status() {
check_pid
local running=$?
if [[ $running -gt 0 ]]; then
printf "%s is started.\n" "$app"
else
printf "%s is stopped.\n" "$app"
fi
}
tailf() {
tail -f var/*
}
print_help() {
printf "Usage: %s {start|stop|restart|status|tail|pid}.\n" "$0"
}
print_pid() {
cat "$pidfile"
}
main() {
case "$1" in
"start") start ;;
"stop") stop ;;
"restart") restart ;;
"status") status ;;
"tail") tailf ;;
"pid") print_pid ;;
*) print_help ;;
esac
}
main "$@"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。