2013-09-28 82 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