日期:2014-05-16  浏览次数:20559 次

如何用c语言实现添加系统服务???(linux,unix)
请问各位大虾,我想做一个程序,运行后自动在unix,linux中添加系统服务,启动自身。用c作。

如果有类似的代码最好,没有请给个提示,谢谢了。

------解决方案--------------------
一般来说,这样的事情是用脚本完成的,用C的话也可以。

linux的服务其实就是放在特定目录下的脚本,所有脚本在目录/etc/init.d下,对于每一个运行级别在其下有一个子目录,比如Run level 3,目录是/etc/init.d/rc3.d,其下是一些链接到上一层目录脚本文件的符号链接,比如:
S12smb -> ../smb
K10smb -> ../smb
等等

其中第一个字母S表示启动时运行的脚本,K表示结束服务时运行的脚本,一般指向同一个脚本,并传入不同参数,由脚本根据参数做不同动作。
之后的数字代表优先顺序,系统启动相应运行级别时会根据这个数字依次启动或结束服务。