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 &