服务器断电重启 及 IOC开机自启动

应用背景:为防止服务器经断电之后需要人为重新设定的情况

一、在BIOS中设置服务器掉电后重启

开机后按 Delete 进入BIOS,将 chipset--> Restore AC Power Loss 设置选项为Power on。

二、 IOC开机自启动

1、安装screen工具

yum install screen // 直接安装

rpm -ivh screen-4.0.3-18.e16.x86_64.rpm // 从安装包安装

安装完成后使用 screen -version 查看版本信息

2、修改screen文件执行权限

chmod u=rwx,g=rwx,o=rwx /usr/bin/screen
chmod u=rwx,g=rx,o=rx /var/run/screen

3、编辑epics-IOC脚本文件

#!/bin/sh
#
# chkconfig: - 99 35
# description: Starts and stops EPICS IOC.

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

case "$1" in
  start)
    echo -n "Starting EPICS IOC"
    export EPICS_HOST_ARCH=linux-x86_64
    export LD_LIBRARY_PATH=/opt/epics/base-3.15.5/lib/linux-x86_64
    export PATH=$PATH:/opt/epics/base-3.15.5/bin/linux-x86_64:/opt/epics/app/smsPowerSupply/bin/linux-x86_64
    cd /opt/epics/app/smsPowerSupply/iocBoot/iocsms
    #echo -n "Starting run st.cmd"
    screen -d -m -S ioc -h 1000 ./st.cmd
    echo -n "finished run st.cmd"
    #screen -d -m -S ioc -h 1000 /usr/local/EPICS/IOC_Digital_PS/iocBoot/iocIOC_Digital_PS/st.cmd
    echo "."
    ;;
  stop)
    echo -n "Stopping EPICS IOC"
    /usr/bin/killall -9 st.cmd
    unset EPICS_HOST_ARCH
    echo "."
    ;;
  reload)
    echo "Not implemented."
    ;;
  force-reload|restart)
    sh $0 stop
    sh $0 start
    ;;
  *)
    echo "Usage: /etc/init.d/epics-IOC

Unknown macro: {start|stop|restart|force-reload|reload}
"
    exit 1
    ;;
esac

将 export 和 cd 后的路径修改为自启动IOC对应的路径

4、将epics-IOC脚本文件拷贝至etc/init.d/目录下并修改执行权限

cp epics-IOC /etc/init.d

chmod a+x epics-IOC 

5、将epics-IOC加入到系统启动服务

chkconfig --level 345 epics-IOC on

      注:chkconfig用于检查和设定系统的各种服务,常用命令为下列两种:

chkconfig [--add][--del][--list][系统服务] // 增加、删除、罗列出
或
chkconfig [--level <等级代号>][系统服务][on/off/reset] // 设置服务在指定运行等级中的运行状态

      注:linux共有7中运行等级,编号依次为0-6,0:关机,1:仅root登录,2:无NFS(网络文件系统)支持的多用户模式,3:完整的多用户模式(支持NFS),4:未使用,5:图形交互模式,          6:重启模式。

6、重启系统,用ps a查看后台是否有st.cmd进程运行;

7、切换到root用户后使用 screen -r 进入自启动IOC的shell交互环境,交互结束后使用ctrl+A组合键再按D离开IOC shell环境(IOC仍在后台执行)。

      注:ctrl+A 再按D的过程一定要快,不然会终止IOC进程。


版权声明:本文为m0_57605764原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。