Chinaunix

标题: 有关关机前执行脚本的问题 [打印本页]

作者: fanbreeze    时间: 2006-12-24 18:44
标题: 有关关机前执行脚本的问题
想在系统关机前执行一个脚本,我现在的做法是:
在/etc/init.d下新建脚本test,然后将其链接到/etc/rc0.d和rc6.d下,名为K98test。
但是这样做完重启系统之后,发现脚本并没有执行。不知道什么原因。

还有一种情况是,我在/etc/rc6.d下新建脚本S00test1,重新启动后发现该脚本被执行了。

为什么以K开头的没有执行,以S开头的执行了呢,按理说都应该执行的啊,只不过是传的参数不一样罢了,


谢谢。
作者: longshort    时间: 2006-12-25 09:38
级别 init 6 是单用户运行状态,init 5 是应用程序多用户运行状态。您的程序应放在 init 5  下启动和停止才对。
作者: fanbreeze    时间: 2006-12-29 10:33
回的人这么少啊,问题解决了。说一说把。
系统是FC5,所以runleve0是halt, runlevel6是reboot。 要在关机前执行脚本,单纯的将写好的脚本加到服务里是不行的,在halt或reboot时,系统会检查/var/lock/subsys下有没有跟以K开头的服务名一样的文件,如果有的话才会执行对应的脚本。所以系统启动是需要在/var/lock/subsys下创建跟服务名一样的文件,系统关机时才会执行服务的K脚本。
作者: ttvast    时间: 2006-12-30 04:09
K的意思是要停止某个服务,而你这个test服务从来没有启动过,当然系统也不会去停止他。
作者: fanbreeze    时间: 2006-12-30 09:44
如果服务启动了,但是没有在/var/lock/subsys下创建对应的文件,系统关机时也不会执行服务对应的K脚本的,系统执行S和K脚本的条件可以看一下/etc/rc.d/rc脚本,

rc            This file is responsible for starting/stopping
#               services when the runlevel changes.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2