2013-09-28 79 views
1

我試圖找到相當於Windows Service Functions的Linux。例如,Windows有ServiceMain爲切入點,SetServiceStatus設置狀態,RegisterServiceCtrlHandlerHandlerEx響應控制代碼,例如開始,暫停和停止請求等相當於Windows服務功能的Linux?

我在W.理查德·史蒂芬的Advanced Programming in the UNIX® Environment檢查,但我想它的工作有點過時了。搜索「linux服務api」和「linux ipc服務啓動停止」(以及類似的)正在產生一些http和數據庫結果,但沒有什麼用處。

有人會知道編寫Linux服務程序的C接口嗎?

回答

2

Linux服務太大的差別:

  • 您開發的腳本(很少二進制)來處理啓動/停止/狀態 命令行參數(開始你的獨立main()的應用程序/進程或做任何事情 else)
  • 「註冊」是通過將該腳本放入 /etc/rc.d/init.d/並創建相應的 /etc/rc.d/rc{level}.d/S{order}符號鏈接
  • 沒有 開箱即用支持/ ide A /服務依存關係的範式或 自動重啓

如果您運行:

/sbin/service --status-all 

它會用「狀態」參數運行/etc/rc.d/init.d/腳本

+1

謝謝弗拉德。你如何暫停和停止服務?我暫時無法找到任何東西,停止似乎是一個殺手(http://www.cyberciti.biz/tips/linux-write-sys-v-init-script-to-start-stop-service。 HTML)。當然殺死一個進程是不好的,因爲它可能會使數據處於不一致的狀態。 – jww