麒麟系统中需终止无用临时进程:先用ps命令识别sh/bash/python3等可疑进程并kill -15,无效则sudo kill -9;再清理systemd用户服务残留;接着清除ppid=1的孤儿进程和z状态僵尸进程;最后安全清空/tmp与/var/tmp下的运行时残留文件。

识别并终止正在运行的无用临时进程
麒麟系统中大量“临时进程”并非真正临时,而是由已关闭软件残留、异常退出服务或流氓程序伪装生成,它们持续占用CPU与内存却无实际功能,必须先揪出真身再清除。打开终端(Ctrl + Alt + T),执行:ps -eo pid,ppid,comm,%cpu,%mem,user --sort=-%cpu | head -15,重点关注 COMMAND 列为 sh、bash、python3 或含 /tmp/、/dev/shm/、run.sh 等路径的进程——这些极大概率是无用临时进程。
记下可疑 PID(第二列数字),执行 kill -15 PID 尝试温和退出;若 3 秒后 ps -p PID 仍有输出,说明它已僵死,立即执行 sudo kill -9 PID 强制终结。
清除 systemd 用户级临时服务残留
很多临时进程背后绑定了用户级 systemd 服务,哪怕主程序关了,服务仍自动拉起新实例,形成“杀一个、冒两个”的循环。第一步:列出所有当前活跃的用户服务:systemctl --user list-units --type=service --state=active;第二步:筛选名称含临时特征的条目,如 temp-*、run-*、onetime-* 或拼音缩写(如 sj*);第三步:对确认无用的服务,逐个执行:systemctl --user stop 服务名.service && systemctl --user disable 服务名.service。
【服务名必须完整带 .service 后缀,漏掉会导致 disable 失败但无报错】。执行完后,运行 systemctl --user daemon-reload 刷新配置,避免下次登录时旧服务复活。
扫描并清理孤儿进程与僵尸进程
当父进程意外崩溃,子进程未被回收,就会变成 PPID=1 的孤儿进程,或进入 Z 状态的僵尸进程——它们不干活却占着 PID 和内核资源,是“无用临时进程”的典型形态。执行以下三步操作:
① 查找所有 PPID 为 1 且非系统核心的孤儿进程:ps -eo pid,ppid,comm | awk '$2 == 1 && $3 !~ /^(systemd|dbus|gnome-session|kdeinit)$/ {print $1}';
② 对输出的每个 PID 执行 sudo kill -9 PID,或一键批量清理:sudo kill -9 $(ps -eo pid,ppid,comm | awk '$2 == 1 && $3 !~ /^(systemd|dbus|gnome-session|kdeinit)$/ {print $1}') 2>/dev/null;
③ 检查僵尸进程:ps aux | awk '$8 ~ /Z/ {print $2, $11}',若输出非空,说明存在已终止但未被父进程回收的子进程——此时不要 kill 僵尸进程本身,而应重启其父进程(通常是当前 shell 或桌面会话),执行 loginctl terminate-session $XDG_SESSION_ID 即可。
清空 /tmp 与 /var/tmp 下的运行时残留文件
/tmp 目录里常驻着大量进程启动时创建的 .pid、.sock、.lock 文件,即使进程已退出,这些文件未被清理就会误导新进程重复拉起,造成“伪临时进程”泛滥。先确保无关键服务正在使用:sudo lsof +D /tmp 2>/dev/null | grep -v "COMMAND",若无输出,说明安全;若有输出,记下 PID 并 sudo kill -9 PID 终止对应进程。
接着执行强制清空:sudo rm -f /tmp/*.pid /tmp/*.sock /tmp/*.lock /tmp/*-temp* /tmp/hsperfdata_*;同样处理 /var/tmp:sudo rm -f /var/tmp/*.pid /var/tmp/*.sock。这一步操作起来很简单,直接回车执行即可,但【必须在确认无lsof输出后再执行,否则可能中断正在运行的合法服务】。











