萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 服務腳本寫法詳解

服務腳本寫法詳解

  服務腳本寫法詳解

  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

  從上面的例子可以看出,服務腳本也是不難寫的,只要在指定位置寫上代碼就可以了,前提是你知道命令是什麼。

copyright © 萬盛學電腦網 all rights reserved