chore: initial commit of ai site platform
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
52
scripts/linux/stop-host.sh
Normal file
52
scripts/linux/stop-host.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# 停止宿主机模式进程
|
||||
# shellcheck disable=SC1091
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
# shellcheck source=common.sh
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
|
||||
|
||||
c_info "停止宿主机模式服务..."
|
||||
|
||||
stop_pidfile() {
|
||||
local name="$1"
|
||||
local f="$PID_DIR/$name.pid"
|
||||
if [[ -f "$f" ]]; then
|
||||
local pid
|
||||
pid="$(cat "$f")"
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
kill "$pid" 2>/dev/null || true
|
||||
sleep 0.3
|
||||
kill -9 "$pid" 2>/dev/null || true
|
||||
fi
|
||||
rm -f "$f"
|
||||
fi
|
||||
}
|
||||
|
||||
for n in web gateway ai platform; do
|
||||
stop_pidfile "$n"
|
||||
done
|
||||
|
||||
for port in 5173 8180 8001 8888; do
|
||||
if have_cmd fuser; then
|
||||
fuser -k "${port}/tcp" >/dev/null 2>&1 || true
|
||||
elif have_cmd lsof; then
|
||||
pids="$(lsof -t -iTCP:"$port" -sTCP:LISTEN 2>/dev/null || true)"
|
||||
[[ -n "$pids" ]] && kill $pids 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${1:-}" == "--with-db" ]]; then
|
||||
pg_ctl_bin="$(command -v pg_ctl 2>/dev/null || true)"
|
||||
if [[ -z "$pg_ctl_bin" ]]; then
|
||||
for d in /usr/lib/postgresql/*/bin /usr/pgsql-*/bin; do
|
||||
[[ -x "$d/pg_ctl" ]] && pg_ctl_bin="$d/pg_ctl" && break
|
||||
done
|
||||
fi
|
||||
if [[ -n "$pg_ctl_bin" && -f "$PGDATA/PG_VERSION" ]]; then
|
||||
"$pg_ctl_bin" -D "$PGDATA" stop -m fast || true
|
||||
fi
|
||||
fi
|
||||
|
||||
c_ok "已停止。数据仍在: $RUNTIME"
|
||||
Reference in New Issue
Block a user