34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set -Eeuo pipefail
|
||
|
|
|
||
|
|
PORT=5000
|
||
|
|
COZE_WORKSPACE_PATH="${COZE_WORKSPACE_PATH:-$(pwd)}"
|
||
|
|
NODE_ENV=development
|
||
|
|
DEPLOY_RUN_PORT=5000
|
||
|
|
|
||
|
|
cd "${COZE_WORKSPACE_PATH}"
|
||
|
|
|
||
|
|
kill_port_if_listening() {
|
||
|
|
local pids
|
||
|
|
pids=$(ss -H -lntp 2>/dev/null | awk -v port="${DEPLOY_RUN_PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
|
||
|
|
if [[ -z "${pids}" ]]; then
|
||
|
|
echo "Port ${DEPLOY_RUN_PORT} is free."
|
||
|
|
return
|
||
|
|
fi
|
||
|
|
echo "Port ${DEPLOY_RUN_PORT} in use by PIDs: ${pids} (SIGKILL)"
|
||
|
|
echo "${pids}" | xargs -I {} kill -9 {}
|
||
|
|
sleep 1
|
||
|
|
pids=$(ss -H -lntp 2>/dev/null | awk -v port="${DEPLOY_RUN_PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
|
||
|
|
if [[ -n "${pids}" ]]; then
|
||
|
|
echo "Warning: port ${DEPLOY_RUN_PORT} still busy after SIGKILL, PIDs: ${pids}"
|
||
|
|
else
|
||
|
|
echo "Port ${DEPLOY_RUN_PORT} cleared."
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "Clearing port ${PORT} before start."
|
||
|
|
kill_port_if_listening
|
||
|
|
echo "Starting HTTP service on port ${PORT} for dev..."
|
||
|
|
|
||
|
|
npx next dev --webpack --port $PORT
|