2
A
回答
2
对不起,发布这个答案而不是评论 - 我没有足够的声誉做后者。
你可能想看看守护进程(3),这是FreeBSD的libc中提供的一个函数。它执行诸如关闭标准文件描述符,设置事件以使SIGHUP不起作用,等等。源代码是在这里:
http://svnweb.freebsd.org/base/head/lib/libc/gen/daemon.c?view=markup
还有一个手册页。 (小心,还有一个包装程序,守护进程(1))。另外请注意,它不是可移植的(尽管它可能在libbsd中可用,我不确定)。
FreeBSD还提供了libutil(再次,我认为不是可移植的),其中还提供了用于处理PID文件的pidfile _ *()函数,我认为这对于编写守护进程非常有用。还有其他的考虑,但这可能会帮助你开始。除非你有特定的问题,否则不能多说。
相关问题
- 1. Linux守护进程
- 2. Python守护进程
- 3. iphone守护进程
- 4. Linux守护进程停止启动 - 停止守护进程
- 5. 可可的守护进程
- 6. 守护进程的Makefile
- 7. java守护进程线程
- 8. Java中的守护进程和非守护线程优先级
- 9. PHP守护进程脚本
- 10. 停止Erlang守护进程
- 11. 用Clojure/JVM守护进程
- 12. Ruby守护进程Gem
- 13. git守护进程与LFS?
- 14. 使用python,守护进程
- 15. Authlogic&delayed_job&delayed_jobl_mailer&守护进程?
- 16. emacs守护进程和magit
- 17. Web.py守护进程通信
- 18. Node.js WebSocket守护进程
- 19. 安装守护进程
- 20. Linux守护进程启动
- 21. Volttron init守护进程
- 22. 管理php守护进程
- 23. init进程是一个守护进程
- 24. perl的守护进程PROC ::守护::初始化与DBI
- 25. 在java中的守护进程线程
- 26. 在FreeBSD中为shell脚本创建一个启动守护进程
- 27. mongrel_rails集群::开始不起作用,找守护进程/守护进程
- 28. Ruby守护进程vs守护进程gem:有哪些优点和缺点?
- 29. 了解Python守护进程线程
- 30. 使Ruby程序成为守护进程?
谢谢你的回复,这是非常有帮助的。至于更具体的事情 - 我想也能够从终端或cron发送消息,像传输守护进程(这是通过传输远程传达的,我相信)。 – Ibolit 2012-04-30 05:53:01
如果您知道守护进程和客户端进程将始终运行在同一台计算机上,那么最好的方法是使用unix域套接字。这个想法是让守护进程在启动时用一些标准名称(例如$ {HOME} /。守护进程/套接字,或者可能在/ var/run中的东西)创建一个套接字,然后让客户端查找此套接字。这个东西是非常标准的:这里有一个快速教程:beej.us/guide/bgipc/output/html/multipage/unixsock.html 传输使用IP套接字,并有一些RPC库,所以它有点复杂。 syslogd可能是查找示例的好地方。 – 2012-04-30 07:54:03
(可能应该提到unix域套接字是文件系统中的对象,所以它们使用的是文件名而不是URL +端口,与IP套接字一样,但它们都使用相同的接口进行操作,但套接字),bind()等) – 2012-04-30 07:56:53