k0baya / X-for-serv00

Xray-for-Serv00
295 stars 117 forks source link

佬,线程总是过一段时间就被杀掉了,能自动监测,没有再重启线程吗 #9

Closed iamobj closed 2 months ago

iamobj commented 2 months ago

这是节点正常可用时的线程

*****  3930  0.0  0.0   23064 12040   -  SN   Fri03   0:04.23 sshd: *****@pts/415 (sshd)
*****  1339  0.0  0.0   14776  4036 415  IN   04:58   0:00.00 bash /usr/home/*****/X-for-Serv00/start.sh
*****  1668  0.0  0.0  276816 77616 415  SN   04:58   0:00.74 node /home/*****/xray/server.js
*****  1932  0.0  0.0 1261100 42892 415  IN   04:58   0:00.11 ./cloudflared tunnel --edge-ip-version auto --protocol http2 run --token ******
*****  4118  0.0  0.0   14776  4396 415  SNs  Fri03   0:00.04 -bash (bash)
*****  8514  0.0  0.0 1253680 25904 415  IN   04:59   0:00.13 ./web.js -c ./config.json
***** 52315  0.0  0.0   13532  3016 415  RN+  05:00   0:00.00 ps aux

这是一段时间后,节点不能用时的线程,就只剩下 ./web.js -c ./config.json,这应该不像是机器重启,我有添加了重启启动脚本的

*****  3930  0.0  0.0   23064 12040   -  SN   Fri03    0:04.23 sshd: *****@pts/415 (sshd)
*****  4118  0.0  0.0   14776  4396 415  SNs  Fri03    0:00.04 -bash (bash)
***** 10844  0.0  0.0 1255540 77628 415  IN   Fri03   21:16.14 ./web.js -c ./config.json
***** 98678  0.0  0.0   13532  3008 415  RN+  04:58    0:00.00 ps aux

感觉应该是进程被某种神秘力量杀掉了,每次节点连不上我就上机器重启下程序就好了,只是有点麻烦,基本上一天要断个两三次

k0baya commented 2 months ago

自动检测并重启相应进程是依靠这个进程实现的:

*****  1668  0.0  0.0  276816 77616 415  SN   04:58   0:00.74 node /home/*****/xray/server.js

所以如果这个进程被杀掉了,就无法正常进行进程保活了。我猜是现在 serv00 注册人数活跃人数的上涨导致严重超售,进程意外终止了...

你可以尝试在 Cron job 内加入这样一条命令:

if ! pgrep -f "server.js" > /dev/null ; then /bin/bash /home/USERNAME/xray/start.sh > /dev/null & fi

设置为每分钟进行一次,对 node /home/*****/xray/server.js 进行监控保活。

如果这样有效的话,麻烦反馈告诉我,我就放到 readme 中。

iamobj commented 2 months ago

思路是正确可用的,但是我发现添加的定时任务他们竟然会主动删你的,我添加的两条定时任务,一条是重启后,一条就是这个,竟然都被删了...,我能反馈就是有效,但奈何不了他们主动删定时任务,这个没法子了。

iamobj commented 2 months ago

估计可能跟我使用度有关,个人觉得轻微应该不会有这种情况,我这是当代理搞爬虫,一晚上要消耗五六十G的流量,被官方盯住了🤣

k0baya commented 2 months ago

思路是正确可用的,但是我发现添加的定时任务他们竟然会主动删你的,我添加的两条定时任务,一条是重启后,一条就是这个,竟然都被删了...,我能反馈就是有效,但奈何不了他们主动删定时任务,这个没法子了。

有法子的。用青龙面板外置挂定时任务,用sshpass把这条命令传进去执行。形如:

sshpass -p 'PASSWORD' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt USERNAME@sX.serv00.com "if ! pgrep -f ‘server.js’ > /dev/null ; then /bin/bash /home/USERNAME/xray/start.sh > /dev/null & fi"

青龙面板内按照自己的喜好定时执行就行。

iamobj commented 2 months ago

好办法,刚好青龙面板我也有,完结撒花,谢谢佬🙏

niceqwer55555 commented 1 month ago

封ssh连接ip了

k0baya commented 1 month ago

封ssh连接ip了

现在不需要ssh检测进程了啊???