diff --git a/.gitea/workflows/cd.yml b/.gitea/workflows/cd.yml index a6b690a..51cbec0 100644 --- a/.gitea/workflows/cd.yml +++ b/.gitea/workflows/cd.yml @@ -61,7 +61,7 @@ jobs: PID=$(cat "$PID_FILE") echo "pid=$PID" for i in 1 2 3; do - if kill -0 "$PID" 2>/dev/null; then + if [ -d "/proc/$PID" ]; then echo "service running, pid=$PID (attempt $i)" exit 0 fi diff --git a/run.sh b/run.sh index dcd703f..911011b 100644 --- a/run.sh +++ b/run.sh @@ -8,13 +8,6 @@ if [ "$(id -u)" -ne 0 ]; then fi mkdir -p logs -setsid nohup .venv/bin/python main.py > logs/app.log 2>&1 < /dev/null & -PID=$! -disown "$PID" 2>/dev/null || true -echo "$PID" > .pid -sleep 1 -if ! kill -0 "$PID" 2>/dev/null; then - echo "process $PID exited immediately, see logs/app.log" >&2 - exit 1 -fi -echo "started, pid=$PID, log: logs/app.log" +nohup .venv/bin/python main.py > logs/app.log 2>&1 & +echo $! > .pid +echo "started, pid=$(cat .pid), log: logs/app.log"