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. Python3守護進程庫
- 2. Linux守護進程
- 3. iphone守護進程
- 4. Python守護進程
- 5. Linux守護進程停止啓動 - 停止守護進程
- 6. 定時器()作爲守護進程與非守護進程
- 7. Windows的Docker守護進程
- 8. 'fork_ed'的守護進程'child_process'
- 9. 可可的守護進程
- 10. 守護進程的Makefile
- 11. java守護進程線程
- 12. Java中的守護進程和非守護線程優先級
- 13. 守護進程結構
- 14. Authlogic&delayed_job&delayed_jobl_mailer&守護進程?
- 15. 與守護進程交談
- 16. 如何守護進程?
- 17. 停止Erlang守護進程
- 18. Bash腳本 - 守護進程
- 19. Python服務/守護進程
- 20. Linux守護進程啓動
- 21. git守護進程與LFS?
- 22. Node.js WebSocket守護進程
- 23. Ruby守護進程決定
- 24. 使用python,守護進程
- 25. Web.py守護進程通信
- 26. Ruby守護進程Gem
- 27. PHP服務(守護進程)
- 28. ios守護進程背景
- 29. PHP守護進程腳本
- 30. 用Clojure/JVM守護進程
謝謝你的回覆,這是非常有幫助的。至於更具體的事情 - 我想也能夠從終端或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