首页 > 编程知识 正文

linux查看守护进程的命令,linux设置守护进程

时间:2023-05-03 05:39:23 阅读:179859 作者:4881

我们通常在创建服务器时,希望服务器能够在后台运行。 此外,还可以记录此服务器的pid,以防止一个进程重复启动。 以前我的方案是自己使用fork函数,在后台模式下运行服务器; 然后,在启动之前,检查是否可以从配置文件中指定的pid文件中读取pid信息,以及当前ps aux中查找此pid的过程是否仍然有效。 这样判定服务器是否启动了。 正常启动完成后,当前进程的pid将写入文件。 这样可以防止重新启动。 从刚才的说明可以看出,许多服务器程序可能有以下需求:

要在后台运行,需要记录pid以方便今后读取服务器信息。 您需要确保服务器不会意外重新启动。 实际上,在Linux的基础设施中正在处理这样的命令。

$ daemonize拥有这个xndgb,所以可以减少自己学习Linux守护程序方式的编程。 编写程序时,直接实现自己服务器的主进程即可。 你最好减少这种自己代码中与平台相关的东西。 可以使代码更明确。

描述daemonize可以将命令作为Unix运行的后台。 后台程序在服务器上运行,而不通过终端或登录的shell,等待一段时间,或按固定的周期执行给定的任务。 典型的后台流程:

关闭除标准输出、输出和错误输出外的所有文件描述符

将工作目录设置为文件系统的根目录,并确保没有挂载其他文件系统以防止卸载

重置他的鼠标

在后台执行(fork ) )。

分离处理组(通常为壳)并屏蔽信号(例如挂起信号HUP );

忽略所有中断的I/O信号

从中断中分离控制权

处理SIGCLD信号

选项-a在输出文件中挂载默认值,而不是刷新默认值。 仅在指定了-e and/or -o时适用。

-e将输出标准错误重定向到指定文件。 代替/dev/null

-o将输出标准重定向到指定的文件,代替/dev/null

-E name=value将环境变量添加到后台程序中。 此参数类型必须为name=value格式。 参数可以设定多次。

定制运行-c directory命令之前的目录。

-p pidfile定制自己pid的存储位置。

-l lockfile单实例启动时检查此文件。

-u user自定义程序是作为谁运行的?

-v启动daemonize,将自己的程序执行的详细日志输出到标准输出。

注意事项如果主机操作系统提供了daemon库程序,daemonize将使用它。 否则,daemonize将使用自己实现的daemon。 这个选择是在编译时进行的。

FreeBSD 5.0引入了daemon命令,与此命令类似,但没有提供太多功能。

关于cqdxte M. Clapper,bmc@clapper.org

daemonize home page :http://software.clapper.org/daemonize /

August 2006

实例##测试代码:

# include iostream # includethreadintmain (int argn,char * argv [ ] ) (int loop _ count=0; wile(true ) { loop_count; if(loop_count10 ) { loop_count=0; } STD :3360 this _ thread :3360 sleep _ for (STD 3360: chrono 33603360 milliseconds (1000 ); if(loop_count==5) STD : cout ' isnormalizeoutput ' STD 33603360 endl; }if(loop_count==9) STD : cerr ' iserror output ' STD 3360: endl; } } return 0; } ##开始的外壳

daemonize-a-e/home/Abel/test _ daemonize/error.log-o/home/Abel/test _ daemonize/output.log-p/hog test_daemonize-cmyCFG.CFG文件列表test _ daemonize ] $ lsdaeminze.PID error.log launch.shlock filemain.CPP main.o oo daemiid output.logisnormalizeoutputisnormalizeoutput # error.logiserroroutputiserroroutput

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。