主要观点:介绍 Unix 守护进程(daemons),包括其历史、启动方式、作者的三个守护进程(extsmail、snare、pizauth)的经验及相关教训等。
关键信息:
- “daemon”术语源于 20 世纪 60 年代,Unix 从早期就使用该拼写,“demon”和“daemon”常可互换。
- 守护进程大多在系统启动或用户启动桌面环境时运行,有三种主要启动方式(双叉法、
daemon()
函数、通过管理器如 systemd)。 - 作者的三个守护进程跨越不同时间、语言和问题域,各有特点和经验教训。
- 强调守护进程的重要性及编写高质量守护进程的要点,如简约性、用户界面设计、语言选择及自动化测试等。
重要细节: - extsmail 为通过外部命令发送邮件而创建,历经多个阶段,有配置等方面的优缺点,让作者认识到 C 语言在编写可靠程序方面的优势。
- snare 为 GitHub 仓库事件运行任意 Unix 命令的守护进程,用 Rust 编写,有配置模式优点和使用
async
/await
的缺点,后移除了async
/await
相关内容。 - pizauth 用于 OAuth2 认证,分为后端和前端,通过域套接字通信,有一些设计技巧和待改进之处。
- 更高层次的反思包括需要更多守护进程、简约性对守护进程的重要性、用户界面设计(配置和通信方面)、实现建议(如语言选择和自动化测试)等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。