写linux服务

一般系统的运行级别是在   /etc/inittab   里面指定的。有一行是类似
id:5:initdefault:
或者
id:3:initdefault:
的,这里的数字就是系统的默认运行级别。假设是   5。

启动服务的是依靠   /etc/init.d/   下的脚本启动的。这些都是普通的   shell   脚本,系统在调用的时候,如果是启动服务,则传入   start   作为参数;stop   表示停止;restart   表示重启。因此你可以写一个脚本,比如简单的如这样:

#!/bin/sh

ARG=$1

case   $ARG   in  
start):
nohup   /path/to/your/program     &
;;
stop):
pkill   program
;;
restart):
pkill   program
nohup   /path/to/your/program   &
;;
esac

把这个脚本放在   /etc/init.d   里面,譬如   /etc/init.d/your_prog
然后加入相应运行级别的链接:在   5   级启动则  
ln   -s   /etc/init.d/your_prog   /etc/rc5.d/S100your_prog
ln   -s   /etc/init.d/your_prog   /etc/rc0.d/K100your_prog
这里两个数字都可以用对应目录里最大的数字,因为没有别的服务依赖你的服务。
这样表示,当系统进入   init   level   5   的时候启动你的程序,进入   init   level   0   的时候停止你的程序。