当前位置: 首页 > Linux

一个简单的进程管理工具

时间:2023-04-06 03:01:17 Linux

上新,请多多关照!大家好,我是Sean,今天给大家分享一个简单的流程管理工具。代码比较简单,主要涉及shell、python和一些Linux上的知识。通过简单的配置,可以对多个程序进行统一管理,也可以对一个进程进行操作,同时还具有进程监控和系统自启动程序的功能。源码已经上传到我的GitHub:https://github.com/HelloWorld...先看看部署后的效果。为什么要做这样的工具?我在之前的工作经验中也用过类似的工具,但是比较复杂,而且是用C++写的。最近,我正在将Windows程序移植到Linux。Windows有相应的界面控制的进程管理工具,但是在Linux上我们可以看到只有一个暗壳,急需这样的工具,于是花了两天时间写了一个简单的脚本。如何控制程序的启动和停止?其实里面的逻辑很简单。让我们以seanstartall为例。Sean是一个接受两个参数(start和all)的脚本。第一个代表操作,第二个代表对象。那么我怎么知道要启动哪些程序呢?很简单,配置,我们在config中配置要管理的程序即可。程序名和启动命令或停止命令,然后执行相应的启动或停止命令。如何实现进程监控?那么就不得不提Linux的crontab任务了。crontab是Linux中定时执行命令的服务。说到这里,想必大家也猜到了是如何实现的。对,让crontab定时检测每个程序是否还活着就可以了,如果程序死了,用sean脚本拉起来就OK了!crontab任务的增删改查都封装在sean脚本中,用户无法感知。启动时添加crontab任务,停止时删除crontab任务。crontab任务管理是如何实现的?这可以通过Python的Crontab包轻松实现!我以前使用shell脚本来执行类似的功能。偶尔会弹出无效等奇怪的问题,所以我强烈推荐使用Python中的Crontab包。生命是短暂的。从官网看,这个包已经有十几年的历史了,应该是挺靠谱的,在测试的蹂躏下也没有问题,而且我发现定时设置可以设置为某个用户执行,这样crontab任务就可以按照an的方式执行了普通用户,最小化权限后就容易了。安全。具体用法可以看我的GitHub。文章开头有链接。关于crontab包更丰富的用法,可以查看包中的单元测试,非常详细。文笔可能很粗糙。建议直接在GitHub上查看脚本实现。有什么问题可以私信我或者留言。后续再细化,分享一些shell命令知识,感兴趣的可以关注一下!感谢您的支持!扫描二维码关注我公众号~