auto-sync: 2026-05-22 18:33:37

This commit is contained in:
cfdaily
2026-05-22 18:33:37 +08:00
parent 20028d21d3
commit 4d0715dcbe
+14 -18
View File
@@ -39,11 +39,20 @@ fi
# ── PM2 状态 ──
echo ""
if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
PM2_DESC=$(pm2 describe "$PM2_NAME" 2>/dev/null)
STATUS=$(echo "$PM2_DESC" | grep "status" | head -1 | perl -pe 's/.*?\s+(\S+)\s*$/\1/')
PID=$(echo "$PM2_DESC" | grep -E "pid " | head -1 | perl -pe 's/.*?\s+(\d+)\s*$/\1/')
UPTIME=$(echo "$PM2_DESC" | grep "uptime" | head -1 | perl -pe 's/^.*\x{2502}\s*//; s/\s*$//')
RESTARTS=$(echo "$PM2_DESC" | grep "restarts" | head -1 | perl -pe 's/^.*\x{2502}\s*//; s/\s*$//')
PM2_INFO=$(pm2 jlist 2>/dev/null | python3 -c "
import sys, json
for p in json.load(sys.stdin):
if p['name'] == '$PM2_NAME':
s = p['pm2_env']['status']
pid = p.get('pid', '?')
r = p['pm2_env'].get('restart_time', 0)
m = round(p['monit']['memory'] / 1024 / 1024, 1)
c = p['monit']['cpu']
u = p['pm2_env'].get('pm_uptime', 0)
print(f'{s}|{pid}|{r}|{m}|{c}|{u}')
break
" 2>/dev/null || echo "offline|?|0|?|?|0")
IFS='|' read -r STATUS PID RESTARTS MEM CPU UPTIME_MS <<< "$PM2_INFO"
if [ "$STATUS" = "online" ]; then
echo " PM2: online ✅"
@@ -51,20 +60,7 @@ if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
echo " PM2: $STATUS"
fi
echo " PID: ${PID:-?}"
echo " Uptime: ${UPTIME:-?}"
echo " Restarts: ${RESTARTS:-0}"
# Memory/CPU from pm2 list
PM2_MEM_CPU=$(pm2 jlist 2>/dev/null | python3 -c "
import sys, json
for p in json.load(sys.stdin):
if p['name'] == '$PM2_NAME':
m = round(p['monit']['memory'] / 1024 / 1024, 1)
c = p['monit']['cpu']
print(f'{m}|{c}')
break
" 2>/dev/null || echo "?|?")
IFS='|' read -r MEM CPU <<< "$PM2_MEM_CPU"
echo " Memory: ${MEM}MB"
echo " CPU: ${CPU}%"
else