首页 存档 技术 查看内容

.NET跨平台实践:用C#开发Linux守护进程

2018-3-30 13:00 |来自: 互联网 359 0

摘要: (点击上方蓝字,可快速关注我们) 来源:宇内流云 cnblogs.com/yunei/p/5352944.html Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关 ...

(点击上方蓝字,可快速关注我们)


来源:宇内流云

cnblogs.com/yunei/p/5352944.html


Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作。


一句话,为Linux开发与控制台无关的,需要在后台长时间不间断运行的“服务程序”,Daemon技术是非常重要的。


Daemon程序一般用c/c 开发。不过,我今天要讲的,不是怎么用c/c 开发daemon,而是用C#!


一、创建Daemon程序


用VS新建一个控制台项目,假设名称是MyDaemon,输入下边的代码:


using System.Runtime.InteropServices;

using System.Threading;


namespace MyDaemon

{

class Program

{

static void Main(string[] args)

{

int pid = fork();

if (pid != 0) exit(0);


//设置“会话组长”,与父进程脱离

setsid();


pid = fork();

if (pid != 0) exit(0);



//已经进程“守护进程”工作状态了!


//关闭所有打开的文件描述符

int max = open("/dev/null", 0);

for (var i = 0; i

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部