#!/bin/sh # 同一容器内同时跑 nginx(Web,2229)和 MCP Server(2230)。 # 任一进程退出即终止容器,交由 Docker 的 restart 策略整体重启。 set -e node /opt/cook-mcp/dist/index.mjs & MCP_PID=$! nginx -g 'daemon off;' & NGINX_PID=$! cleanup() { kill "$MCP_PID" "$NGINX_PID" 2>/dev/null || true } trap cleanup EXIT INT TERM # busybox ash 的 wait 不支持 -n,改为轮询两个进程是否都还活着 while kill -0 "$MCP_PID" 2>/dev/null && kill -0 "$NGINX_PID" 2>/dev/null; do sleep 1 done