您现在的位置: 万盛学电脑网 >> 操作系统 >> Linux教程 >> 正文

服务脚本写法详解

作者:佚名    责任编辑:admin    更新时间:2022-06-22

  服务脚本写法详解

  SysV启动方式最大的特点就是服务管理脚本是分开的,可以接收start,stop等的文件。一般可以用如下命令来控制服务的开启和关闭:

  /etc/init.d/xxx {start|stop|restart}

  下面就来说说这种脚本是如何书写的。

  基本结构

  其中${1}传入的参数。

  case "${1}" in

  start)

  ...

  ;;

  stop)

  ...

  ;;

  restart)

  ...

  ;;

  status)

  ...

  ;;

  *)

  ...

  ;;

  esac

  示例

  下面用lfs中的swap脚本文件为示例说明一下。用swap是因为这个脚本只用到一个命令swapon,控制参数也很全。

  其中boot_mesg和evaluate_retval为两个函数,不相关,可以不看。

  #!/bin/sh

  . /etc/sysconfig/rc

  . ${rc_functions}

  case "${1}" in

  start)

  boot_mesg "Activating all swap files/partitions..."

  swapon -a

  evaluate_retval

  ;;

  stop)

  boot_mesg "Deactivating all swap files/partitions..."

  swapoff -a

  evaluate_retval

  ;;

  restart)

  ${0} stop

  sleep 1

  ${0} start

  ;;

  status)

  boot_mesg "Retrieving swap status." ${INFO}

  echo_ok

  echo

  swapon -s

  ;;

  *)

  echo "Usage: ${0} {start|stop|restart|status}"

  exit 1

  ;;

  esac

  # End $rc_base/init.d/swap

  从上面的例子可以看出,服务脚本也是不难写的,只要在指定位置写上代码就可以了,前提是你知道命令是什么。