Linux守護進程是Linux的后臺服務(wù)進程,相當于Windows服務(wù),對于為Linux開發(fā)服務(wù)程序的朋友來說,Linux守護進程相關(guān)技術(shù)是必不可少的,因為這個技術(shù)不僅僅是為了開發(fā)守護進程,還可以拓展到多進程,父子進程文件描述符共享,父子進程通訊、控制等方面,是實現(xiàn)Linux大型服務(wù)的基礎(chǔ)技術(shù)之一。

去年我也曾寫了一篇關(guān)于守護進程的帖子,名字叫《.NET跨平臺實踐:用C#開發(fā)Linux守護進程》,這篇文章的的確確實現(xiàn)了一個Daemon,不過,它有一個弱點,不能運行多線程!

這篇帖子的目的就是進一步完善,讓我們寫出一個功能完整,可以用于生產(chǎn)環(huán)節(jié)的基本的守護進程。

先帖代碼(假設(shè)項目名是daemon):

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計算培訓(xùn),高端軟件開發(fā)培訓(xùn),項目經(jīng)理培訓(xùn)

  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示例,作者宇內(nèi)流云 * 11  ********************************************/ 12  13 namespace daemon 14 { 15     class Program 16     { 17  18         const string DaemonTag = "--daemon."; 19  &
        
		

網(wǎng)友評論