免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1951 | 回复: 3
打印 上一主题 下一主题

关机自动执行的两个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-14 12:02 |只看该作者 |倒序浏览
昨天研究了一下让linux的pc关机自动执行某个任务的方法,我想电脑在关机的时候自动用 uptime 命令记录登录延续时间并输出到文件。有几个问题:
    1 . 在/etc/rc.d/init.d 中写了脚本,并link到其他的文件夹(我一般是level 5,所以只在/etc/rc.d/rc3.d/ 中ln了一个),然后在 /var/lock/subsys/ 中建立了一个同名空文件。 然后脚本在关机时被成功执行。
      然后我发现/var/lock/subsys/ 下新建的空文件在重启后自动被删除了,在关机的时候脚本肯定就不会被执行了。为什么系统自动删除用户的文件呢?有什么选项可以解决吗。
       2.  关于 /etc/rc.d/init.d 下的脚本规范,都要求能接受 start stop等参数,看了好几个脚本没看懂,请问哪有这方面的资料呢?
       多谢!!!

论坛徽章:
0
2 [报告]
发表于 2008-01-14 17:44 |只看该作者
sysv init script,要接收 start 與 stop 這類參數表示啟動或者是關閉該服務.

依據 /etc/init.d/rc script,關機時是進入 runlevel 0,所以會展開 /etc/rc0.d/ 內 K[0-9][0-9]* 檔案帶入 stop 執行之表示停止該服務,不過會先判斷該服務是否有執行。一般判斷方式就是查看 /var/lock/subsys 內是否有建立一個應對檔名才會實際執行。ex: K[0-9][0-9]name,就是確認 /var/lock/subsys/name 是否存在。最後找 S[0-9[0-9]* 檔案帶入執行 start 參數表示啟動該服務。

/var/lock/susbsys/ 內檔案當然會於重開機後刪除,因為所有服務都消失了所以這樣做是正常的。而主機開機後,後續執行某些服務傳入 start 參數啟動時才會適時的於 /var/lock/subsys 目錄內建立必要的 lock 檔案,提供給後續關機或者是重開機要停止該服務時判斷該服務是否有執行的依據。

--

论坛徽章:
0
3 [报告]
发表于 2008-01-15 19:20 |只看该作者
我在/etc/rc.d/rc5.d/ 下有ln 了一个S开头的,脚本在开机时工作,但是/var/lock/subsys 中还是没有相应的空文件,应该怎样解决让 var/lock/subsys  能够自动生成空文件呢?

论坛徽章:
0
4 [报告]
发表于 2008-01-15 22:17 |只看该作者
多谢2楼  kenduest 大哥指点, 看了个 /init.d/ 下的文件结构,终于把 touch 空文件和 stop reload.. 搞明白了,一开始没入门,连函数的概念都忘记了,现在终于理解个大概了。
多谢:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP