麒麟OS安装第三方软件时会默认注册systemd服务、写入autostart或启用守护进程,导致开机慢、资源占用高、任务栏异常;应立即检查并终止新服务,拦截安装过程中的服务注入,并清理残留单元及锁定rc.local。

您在麒麟OS中安装第三方软件时,发现它悄悄注册了systemd服务、写入autostart目录或启用后台守护进程,导致开机变慢、资源被占用、甚至任务栏异常消失——这不是偶然行为,而是部分国产软件安装脚本默认执行的后台服务注入逻辑。
检查并终止新装软件注册的活跃服务
刚完成安装后立即操作,避免服务被设为开机自启。
打开终端,执行以下命令列出最近10分钟内启动的服务:
systemctl --type=service --state=running --all | grep -E "$(date -d '10 minutes ago' '+%Y-%m-%d %H:%M')"
若发现可疑服务(如 wpscloudsvr、360safe-agent、yyhelper),立即停止并禁用:
sudo systemctl stop 服务名.service → sudo systemctl disable 服务名.service
【禁用后务必执行 systemctl daemon-reload,否则下次重启仍可能加载】
拦截软件安装过程中的服务注册行为
适用于已知高风险安装包(如WPS、钉钉、向日葵客户端),在安装前主动切断其服务写入路径。
方法一:临时屏蔽 systemd 用户服务目录写入权限
sudo chmod 555 ~/.config/systemd/user/
方法二:冻结系统级 autostart 入口
sudo chattr +i /etc/xdg/autostart/
方法三:重定向安装脚本的 service 安装目标(需提前准备)
创建空文件占位:sudo touch /usr/lib/systemd/system/目标服务名.service && sudo chmod 000 /usr/lib/systemd/system/目标服务名.service
这一步会让安装脚本调用 systemctl enable 时因权限不足而失败,但不会中断主程序安装。
清理已注册但未启用的残留服务单元
有些软件安装后只生成 .service 文件却未启用,它们仍可能被其他服务依赖唤醒,必须彻底清除。
第一步:查找所有属于当前用户的未启用服务文件
find ~/.config/systemd/user/ -name "*.service" -exec systemctl --user is-enabled {} \; 2>/dev/null | grep -B1 "disabled"
第二步:对返回结果中的每个文件路径,执行删除操作
rm -f ~/.config/systemd/user/xxx.service
第三步:同步清理对应 socket、timer 单元(如有)
rm -f ~/.config/systemd/user/xxx.socket ~/.config/systemd/user/xxx.timer
第四步:刷新用户级 systemd 配置
systemctl --user daemon-reload
阻止安装器写入 /etc/rc.local 启动项
部分老旧安装包仍使用传统 rc.local 方式注入后台任务,该路径一旦被修改将影响所有用户且不易察觉。
执行命令锁定该文件防止写入:
sudo chattr +i /etc/rc.local
若安装器报错“Permission denied”或“Operation not permitted”,说明拦截成功;此时可放心继续安装流程。
后续如需恢复写入权限,运行 sudo chattr -i /etc/rc.local 即可。

















