必须强制终止所有wine相关进程以释放资源并避免冲突;先用ps aux | grep -i wine确认存在,再用pkill -9 -f "wine\|wineserver\|explorer"彻底清除,最后用ps验证是否清空。

当你在银河麒麟系统中运行了 Wine 应用(比如 Windows 程序),但程序卡死、窗口无响应、任务栏残留图标,甚至终端里执行 wine 命令后无法退出,此时必须强制终止所有 wine 相关进程,否则它们会持续占用内存、锁住文件、干扰后续 Wine 启动。
先确认 wine 进程是否真实存在
打开终端(Ctrl+Alt+T),执行:
ps aux | grep -i wine
这一步必须加 -i 参数——因为实际进程名可能是 WINE、wine-server、wine-preloader 或全小写 wine,不加 -i 会导致完全匹配失败,后续所有操作都白忙。
观察输出:若只看到 grep 自身那行,说明当前没有活跃的 wine 进程;若出现多行,重点关注 USER 列是否为你的用户名,且 CMD 列含 wine、wine-server、wineserver、explorer.exe、notepad.exe 等字样。
用 pkill -9 一次性清空所有 wine 相关进程
方法一(推荐):直接按名称匹配主进程和子服务
pkill -9 -f "wine\|wineserver\|explorer"
这个命令会扫描完整命令行(-f),匹配到任何含 wine、wineserver 或 explorer 字样的进程并强制终止。它比单纯 pkill wine 更彻底,能干掉后台静默运行的 wineserver 守护进程——该进程不死,下次启动任何 Wine 程序都会复用旧状态,极易引发冲突。
方法二:限定用户范围,避免误杀他人 wine 进程
pkill -9 -u $USER -f "wine"
方法三:分步清理(适合想保留部分组件时)
先杀 wineserver(关键):pkill -9 wineserver
再杀所有 wine 主进程:pkill -9 -f "wine.*\.exe\|wine64"
验证是否真正清空
执行:
ps aux | grep -i "wine\|wineserver"
如果返回结果只有 grep 自身那一行,说明所有 wine 相关进程已从系统中清除。
如果仍有输出,说明某个进程 PID 被新分配或命令未覆盖到——此时可改用 kill -9 $(pgrep -f "wineserver") 强制收割残留。


















