麒麟系统如何管理跨平台的桌面程序进程

酷丽吖_6875

酷丽吖_6875

2026-09-15

784人浏览

原创

在银河麒麟系统上管理跨平台桌面程序进程,须区分启动方式:优先通过窗口关闭或wmctrl发送sigterm;对systemd用户服务需用systemctl --user控制;查真实进程名应执行ps -eo pid,comm,args | grep -e "(dotnet|electron|java)"并核验args列;异常退出后需清理.lock文件及dbus残留。

麒麟系统如何管理跨平台的桌面程序进程

在银河麒麟系统上管理跨平台桌面程序(如 Avalonia、Electron、JavaFX 应用)的进程,需区分其启动方式与运行模型——有些以普通用户进程常驻,有些则通过 systemd 用户服务托管,还有些依赖 .desktop 文件间接调用 shell 脚本。直接 kill -9 很可能造成界面卡死、数据未保存或下次无法启动。

识别跨平台程序的真实进程名

跨平台桌面程序常伪装成通用进程名(如 dotnet、electron、java),不能仅靠 top 或 htop 中看到的名称判断归属。【必须先确认 PID 对应的完整启动命令】

打开终端,执行:ps -eo pid,comm,args --sort=-pid | grep -E "(dotnet|electron|java|Avalonia|Keepass2|GitKraken)"

重点看最后一列 args:若含 /opt/anydesk/anydesk/usr/lib/keepass2/keepass2,说明是原生包;若含 ./AvaloniaApplication1.Desktop--exec /home/kylin/app/MyApp,则是自打包应用。

若输出为空,尝试加 -u $USER 限定当前用户范围,避免被系统级进程干扰。

安全终止图形界面进程(推荐路径)

对有 GUI 的跨平台程序,优先使用其自身退出机制,而非强制杀进程。这能触发 ViewModel 清理、数据库事务提交、临时文件删除等逻辑。

方法一:通过窗口管理器关闭
点击程序窗口右上角「×」,或按 Alt+F4。若窗口无响应,再进入下一步。

方法二:用 wmctrl 发送关闭信号(需提前安装)
sudo apt install wmctrl -y → 执行 wmctrl -c "KeePass2"wmctrl -c "GitKraken"。引号内填窗口标题关键词,大小写敏感。

方法三:向主进程发送 SIGTERM(非 SIGKILL)
先用上一步查到的 PID,执行 kill -15 12345。等待 3 秒,再用 ps -p 12345 确认是否退出。未退出再考虑 -9。

BGM猫
BGM猫

BGM猫是一款AI音频处理工具,灵动音科技推出的AI智能生成BGM音乐。

下载

管理 systemd 用户服务型跨平台程序

部分跨平台程序(如 AnyDesk 桌面版、多端协同)安装后会注册为用户级 systemd 服务,它们不随终端关闭而终止,也不出现在普通 ps 列表中。

第一步:列出当前用户所有启用的服务
systemctl --user list-units --type=service --state=running | grep -i "anydesk\|multi\|collab"

第二步:停止并禁用自动启动(以 AnyDesk 为例)
systemctl --user stop anydesk.servicesystemctl --user disable anydesk.service

第三步:彻底卸载服务文件(防止残留)
rm -f ~/.config/systemd/user/anydesk.servicesystemctl --user daemon-reload

【注意:执行 daemon-reload 前必须删掉 service 文件,否则 reload 后服务仍存在】

排查僵尸进程与残留锁文件

跨平台程序异常退出后,常遗留 .lock 文件或 dbus 名称占用,导致下次启动失败。例如 KeePass2 重启报错 “Database is locked”,或 GitKraken 提示 “Another instance is running”。

检查常见锁路径:
ls -la ~/.local/share/keepass2/*.lock
ls -la /tmp/gtk-*.lock
ls -la ~/.config/GitKraken/Singleton*

确认无活跃进程占用后,手动删除对应 lock 文件。不要删整个目录,只删带 lock 后缀的文件。

验证 dbus 名称是否被占:
busctl --user list-names | grep -i "keepass\|gitkraken"。若有输出,说明旧实例仍在 dbus 注册,此时需 reboot 或执行 dbus-run-session -- bash 新启会话再试。

相关文章

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

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

下载

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

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2068

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

959

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

367

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

307

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

346

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

560

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1389

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1177

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1305

9

热门下载

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

精品课程

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

共6课时 | 54.6万人学习

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

共89课时 | 133.1万人学习