登录
首页 >  文章 >  php教程

宝塔面板CPU100%如何排查恶意进程

时间:2026-05-13 21:37:21 183浏览 收藏

宝塔面板CPU长期100%往往并非遭遇木马攻击,而是其内置的site_task.py定时任务因配置不当或环境异常陷入“启动→崩溃→重启”的死循环所致;通过htop精准捕获瞬时高耗CPU的Python进程、同步排查系统crontab和宝塔system.db中的双重任务源,可快速定位并停用冗余任务——尤其当你未启用自动SSL续签、网站目录稳定且证书均由手动管理时,该脚本实为无用负载,果断关闭后CPU通常立即回落,系统反而更轻量稳定。

宝塔面板CPU占用100%怎么寻找恶意进程_利用系统监控与htop命令精确定位

宝塔面板CPU 100%时,别急着杀进程或重装系统——大概率是 site_task.py 在反复拉起又崩溃,不是木马,是面板自己的定时任务卡住了。

用 htop 替代 top 查看瞬时高 CPU 的 Python 进程

top 默认刷新间隔 3 秒,而异常的 site_task.py 进程可能只存活 1–2 秒,根本来不及被捕捉。htop 更适合:它支持鼠标滚动、颜色高亮、树状视图,还能按命令行完整显示进程启动参数。

安装与运行:

  • 执行 yum install -y htop(CentOS)或 apt install -y htop(Ubuntu/Debian)
  • 运行 htop,按 F4 输入 python 过滤,再手动找含 /www/server/panel/script/site_task.py 的行
  • 重点关注「TIME+」列:如果某个 python 进程的运行时间只有几秒,但 CPU 占用长期 >90%,基本就是它

查 crontab 和宝塔内置任务双源头

宝塔的「计划任务」界面显示的列表,和实际调度器不完全一致。有些任务由面板服务(bt 进程)直接注册进 SQLite 数据库,Web 界面改不了。

必须同时检查两处:

  • 系统级 cron:crontab -l | grep site_task.py,看是否有类似 */5 * * * * python /www/server/panel/script/site_task.py 的行
  • 宝塔服务级任务:sqlite3 /www/server/panel/data/system.db "select id,name,command,status from crontab where command like '%site_task%'",确认 status 是否为 1
  • 若查到且 status=1,临时停用用:sqlite3 /www/server/panel/data/system.db "update crontab set status=0 where command like '%site_task%'"

确认是否真需要 site_task.py 这个脚本

这个脚本只干两件事:检查网站目录是否存在、SSL 证书是否快过期。如果你没开宝塔自动续签,所有证书都由 Nginx 手动配置,或站点根目录稳定无误,它就是冗余负载。

判断依据很直接:

  • 执行 ls /www/server/panel/vhost/cert/,如果目录为空或全是已过期证书,说明你根本没依赖它管理证书
  • 进宝塔「网站」列表,逐个点开 SSL 页签——如果状态栏显示“未启用”或“证书已过期”,那 site_task.py 每次检查都会报错退出,触发重启循环
  • 停掉它之后观察 10 分钟:如果 CPU 回落且网站访问正常,就不用修,直接关更安全

真正难处理的不是怎么停,而是停了之后没人补位——比如你靠它提醒证书快到期,那得换成 certbot + systemd timer 或监控告警;否则,关掉反而更稳。

今天关于《宝塔面板CPU100%如何排查恶意进程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>