Linux服务配置页面卡顿问题解决方案
Linux桌面应用页面一般由C调用GTK、Python调用GTK、C++的qt进行绘制。
其中,c++的qt界面有专门IDE(qtcreator)能进行跟踪,相对容易,维护性也好。
Python和C调用GTK相关文档较少,维护相对复杂。所以这种情况的问题,最好还是
先从宏观角度,即问题现象进行分析,实在不行再进入到system-config-services
源码层面。
一、服务页面卡顿问题现象
只要进行了任意一个服务的配置,如启用enable或禁用disable操作,那么前端页面即卡住。
二、问题分析
1. 宏观层面
F1查看服务的帮助页面,对该应用有一个整体的感性认识。同时,获取到一个重要信息,
可以看/etc/rc.d/init.d/README
,通过README文档可知:
1)服务配置页面显示的可配置服务内容和通过命令systemctl list-unit-files
得到的结果一致;
2)服务配置页面进行的操作(启用)和通过命令systemctl enable audit.service
保持一致;
3)服务配置页面中服务的描述信息具体是属于每个包,可在/usr/lib/systemd/system/xxx.service
查看;
4)服务和systemctl
和systemd
紧密相连,需要man
进行详细查看。
2. 微观层面
微观层面,即源码层面。通过Python的logging模块进行打印日志,由于Python是解释型语言,
故不需要做包,而直接在Linux系统上修改进行测试。
三、服务开机自启动
1. systemd服务
有2种方式可以启用或者禁用服务:service
和systemctl
。
systemd兼容service,更加强大和简约。
service需要自行编写完整的shell脚本;
systemd只需要配置服务文件(/usr/lib/systemd/system/
),pid文件路径。
2. xinetd服务
配置服务文件在/etc/xinetd.d/
目录。
-------------------------------------------
Wish you all the best and good health in 2021.