Linux守护进程是Linux的后台服务进程,相当于Windows服务,对于为Linux开发服务程序的朋友来说,Linux守护进程相关技术是必不可少的,因为这个技术不仅仅是为了开发守护进程,还可以拓展到多进程,父子进程文件描述符共享,父子进程通讯、控制等方面,是实现Linux大型服务的基础技术之一。

去年我也曾写了一篇关于守护进程的帖子,名字叫《.NET跨平台实践:用C#开发Linux守护进程》,这篇文章的的确确实现了一个Daemon,不过,它有一个弱点,不能运行多线程!

这篇帖子的目的就是进一步完善,让我们写出一个功能完整,可以用于生产环节的基本的守护进程。

先帖代码(假设项目名是daemon):

大数据培训,云培训,数据挖掘培训,云计算培训,高端软件开发培训,项目经理培训

  1 using System;  2 using System.Threading;  3 using System.Timers;  4 using System.Runtime.InteropServices;  5 using System.IO;  6 using System.Text;  7   8   9 /******************************************** 10  * 一个完整的linux daemon示例,作者宇内流云 * 11  ********************************************/ 12  13 namespace daemon 14 { 15     class Program 16     { 17  18         const string DaemonTag = "--daemon."; 19  &