2

我正在考虑为 FreeBSD 编写一个守护程序,但是,我从来没有这样做过,而且从外观上看,这很棘手。

有没有我可以包含的库,然后只为我的守护进程编写特定的东西?

4

1 回答 1

3

很抱歉发布这个答案而不是评论 - 我没有足够的声誉来做后者。

您可能想查看 daemon(3),这是 FreeBSD 的 libc 中提供的一个函数。它执行诸如关闭标准文件描述符之类的操作,进行设置以使 SIGHUP 无效,等等。源代码在这里:

http://svnweb.freebsd.org/base/head/lib/libc/gen/daemon.c?view=markup

还有一个手册页。(小心,还有一个包装程序 daemon(1))。另请注意,它不是可移植的(尽管它可能在 libbsd 中可用,但我不确定)。

FreeBSD 还提供了 libutil(同样,我认为不是可移植的),其中提供了 pidfile_*() 函数来处理 PID 文件,我认为这对于编写守护程序很有用。还有其他注意事项,但这可能会帮助您入门。除非你有一个具体的问题,否则不能多说。

于 2012-04-29T22:07:08.937 回答