并非所有 linux 系统都使用相同的init
守护进程(ubuntu 使用 upstart:http ://upstart.ubuntu.com/getting-started.html ),但它们都在脚本中使用start
和函数。stop
其他常见功能是status
and restart
,但同样,没有真正的全面标准。例如:
!#/bin/sh
start () {
echo "application started";
./helloworld # you should use an absolute path here instead of ./
}
stop () {
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage start|stop";
esac
exit $?
最后一位是基于第一个命令行参数的开关,因为 init 将调用脚本myrcscript start
。
为了使用stop()
(也经常有用restart()
),您需要保留或能够获取由start()
;启动的进程的 pid 有时这是通过 /tmp 中的一个小“pid 文件”(包含 pid 的文本文件,例如,在 start() 中创建的/tmp/myscript.pid )完成的。
Ubuntu 上使用的“upstart”初始化守护进程有其自己的特定功能,但除非您需要使用它们,否则只需将其停止/启动保持在最低限度,它就会(可能)在任何地方工作。