auto-sync: 2026-05-22 18:33:37
This commit is contained in:
+14
-18
@@ -39,11 +39,20 @@ fi
|
|||||||
# ── PM2 状态 ──
|
# ── PM2 状态 ──
|
||||||
echo ""
|
echo ""
|
||||||
if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
|
if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
|
||||||
PM2_DESC=$(pm2 describe "$PM2_NAME" 2>/dev/null)
|
PM2_INFO=$(pm2 jlist 2>/dev/null | python3 -c "
|
||||||
STATUS=$(echo "$PM2_DESC" | grep "status" | head -1 | perl -pe 's/.*?\s+(\S+)\s*$/\1/')
|
import sys, json
|
||||||
PID=$(echo "$PM2_DESC" | grep -E "pid " | head -1 | perl -pe 's/.*?\s+(\d+)\s*$/\1/')
|
for p in json.load(sys.stdin):
|
||||||
UPTIME=$(echo "$PM2_DESC" | grep "uptime" | head -1 | perl -pe 's/^.*\x{2502}\s*//; s/\s*$//')
|
if p['name'] == '$PM2_NAME':
|
||||||
RESTARTS=$(echo "$PM2_DESC" | grep "restarts" | head -1 | perl -pe 's/^.*\x{2502}\s*//; s/\s*$//')
|
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
|
if [ "$STATUS" = "online" ]; then
|
||||||
echo " PM2: online ✅"
|
echo " PM2: online ✅"
|
||||||
@@ -51,20 +60,7 @@ if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
|
|||||||
echo " PM2: $STATUS ❌"
|
echo " PM2: $STATUS ❌"
|
||||||
fi
|
fi
|
||||||
echo " PID: ${PID:-?}"
|
echo " PID: ${PID:-?}"
|
||||||
echo " Uptime: ${UPTIME:-?}"
|
|
||||||
echo " Restarts: ${RESTARTS:-0}"
|
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 " Memory: ${MEM}MB"
|
||||||
echo " CPU: ${CPU}%"
|
echo " CPU: ${CPU}%"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user