Chinaunix

标题: Centos能否在按下电源重启键后执行脚本 [打印本页]

作者: wypdao    时间: 2011-07-07 15:10
标题: Centos能否在按下电源重启键后执行脚本
CentOS能否实现当按下重启键后执行某个脚本,谢谢!!
作者: chenyx    时间: 2011-07-07 15:13
ctrl+alt+delete那个还是别的?
作者: wypdao    时间: 2011-07-07 15:15
不是ctrl+alt+del,就是机箱上的重启按钮
作者: chenyx    时间: 2011-07-07 15:24
回复 3# wypdao


    那个重启按钮啊?肯定不行,直接重置的cpu
作者: wypdao    时间: 2011-07-07 15:27
回复 4# chenyx


哦,那如果想实现输入reboot命令后,执行脚本呢,这个应该可行吧?
作者: chenyx    时间: 2011-07-07 15:31
本帖最后由 chenyx 于 2011-07-07 15:32 编辑

自己做一个脚本,给予x权限,做个reboot的alias,例如a.sh,alias reboot="/path/a.sh",写到/etc/profile里面(用a.sh的实际路径替换/path)
作者: wypdao    时间: 2011-07-07 15:34
好,试试去,谢谢版主
作者: int-main    时间: 2011-07-07 15:38
很简单,捕获信号加以处理即可。
作者: wypdao    时间: 2011-07-07 15:45
回复 8# int-main


    这位大哥能否说详细一些呢
作者: int-main    时间: 2011-07-07 15:54
回复  int-main


    这位大哥能否说详细一些呢
wypdao 发表于 2011-07-07 15:45


  1. //关机时响应的方法
  2. void signal_handler(int i)
  3. {
  4.     printf("Closed.");
  5. }

  6. //捕获关机信号
  7. signal(SIGTERM,signal_handler);
复制代码

作者: wypdao    时间: 2011-07-07 16:03
回复 10# int-main


    您说的这个是捕获按下重启按钮这个动作还是输入reboot动作
作者: int-main    时间: 2011-07-07 16:31
一样的
作者: wypdao    时间: 2011-07-08 15:25
回复 12# int-main


    自己测试了一下,按下重启按钮,不发送SIGTERM信号哦,好像版主说的有点道理,重启按钮直接重置的CPU,物理启动,程序好像阻止不了,也改变不了

不过还是很感谢您!!!

最后采取了版主的方式,定义alias,对reboot和halt定义了别名,运行自己的脚本,谢谢版主
作者: snow888    时间: 2011-07-08 22:43
很简单,捕获信号加以处理即可。
int-main 发表于 2011-07-07 15:38



    貌似不简单吧。
作者: 5ailiao    时间: 2011-07-11 16:56
直接重置的cpu




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