用 c 语言写了个 linux 下的进程管理工具

2016-02-16 11:55:36 +08:00
 nladuo

之前一直想学学 linux 下的 c 语言编程,这个假期终于开始了。

学到线程和进程那块,也想不到什么好例子,于是想起之前用的进程管理工具, pm2 和 supervisor 。第一个感觉非常好用,但是还要装 npm ,主要是为了 nodejs 开发者用的。第二个感觉用起来稍微麻烦一点,要写配置文件,而且显示效果没有 pm2 好看。

于是模仿着 pm2 的界面,自己写一个简单的管理工具。

链接: https://github.com/nladuo/KB-PM

效果图:

4792 次点击
所在节点    Linux
24 条回复
mikicomo
2016-02-16 11:59:23 +08:00
歪个楼...看着题主的头像,差点看成用 go 语言写了个....
nladuo
2016-02-16 12:01:55 +08:00
@mikicomo 一般用 go 语言写东西。(⊙o⊙)
mikicomo
2016-02-16 12:04:02 +08:00
@nladuo 活捉 go 粉一枚
nladuo
2016-02-16 12:05:49 +08:00
@mikicomo 嘿嘿
neoblackcap
2016-02-16 12:09:44 +08:00
其实就是写 daemon 对吧,这个我之前也看了, APUE 里面的两次 fork
mikicomo
2016-02-16 12:15:27 +08:00
@nladuo follow 为敬
nladuo
2016-02-16 12:16:50 +08:00
@neoblackcap 恩,有挺多细节。
nladuo
2016-02-16 12:17:40 +08:00
@mikicomo 谢谢哈
neoblackcap
2016-02-16 12:32:47 +08:00
@nladuo 的确还有很多细节,比如 IPC 之类,不过就是 APUE 那个例子实在是太经典了,一下子就想到那个
nladuo
2016-02-16 12:43:21 +08:00
@neoblackcap 我看的书叫 《 linux 程序设计》, APUE 看了看电子书。
lcqtdwj
2016-02-16 13:28:10 +08:00
nice,已 star
wizardoz
2016-02-16 13:37:08 +08:00
原来我看过一本《 Linux 实用编程》都是讲的一些 Linux 命令行工具的实现。对于已经有一定编程基础的人了解 Linux 系统很有帮助。
neoblackcap
2016-02-16 13:59:21 +08:00
@nladuo 原理其实都差不多,最多就是 API 有区别,这个时候看看 man 就可以了。
nladuo
2016-02-16 17:05:43 +08:00
@lcqtdwj 谢谢哈
nladuo
2016-02-16 17:14:15 +08:00
@wizardoz 刚刚百度没搜到这本书,英文版的?
nladuo
2016-02-16 17:15:53 +08:00
@neoblackcap 嗯。
shyling
2016-02-16 17:18:35 +08:00
厉害~如果启动一个自己 fork 了 2 次成 daemon 的程序会不会脱离管理
nladuo
2016-02-16 17:25:16 +08:00
@shyling 这个是会的。只能管理单进程的应用。
hitmanx
2016-02-16 18:00:36 +08:00
mark 一下,回家看看
hitmanx
2016-02-16 18:43:37 +08:00
貌似 server 只有 start 没有 stop?还是我看花了>_<

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/256797

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX