Mio*_*ios 3 c linux daemon rhel
在Linux下编写/配置应用程序的正确方法是什么,它始终运行并提供外部请求(TCP,数据库,文件系统,任何类型).
我特意不要调用这个守护进程,因为它可能意味着我不想在Linux环境中使用它.
我已经阅读了多个主题,包括:
但是没有一个能够充分比较使用哪种方法.
我看到以下选项:
但是他们中的哪一个是要走的路.或者如果它们都可以使用,那么Linux中的守护进程是什么?
我正在寻找相当于在Windows下运行应用程序作为服务(任何.exe都可以自动生成使用sc作为服务运行).
我的要求如下:
我是应用程序的作者,但不希望改变它以处理守护进程.
我的猜测是编写自定义init.d脚本,然后从/etc/init.d/functions调用daemon()函数.我对吗?
RHEL7使用systemd作为其初始化系统,它将满足您的大部分需求.您应该为您的守护程序编写一个systemd 单元文件(在systemd用语中称为服务).它可以:
systemctl enable yourservice.User在单元文件中设置密钥.service start:是,或通过systemctl start.Restart在单元文件中设置一个键(例如,on-failure或always).journalctl和/或写入syslog 进行查看.在现代init系统下运行时,您的应用程序不需要(也不应该)守护自身.这不仅适用于systemd,也适用于暴发户,以及runit,daemontools,supervisord和其他大多数主管.守护进程有点挑剔,容易出错.只需像往常一样编写应用程序,然后让init系统完成它的工作.