当前位置: > Linux命令 >

linux命令service与chkconfig用法教程

时间:2014-06-26 15:47来源:linux.it.net.cn 作者:IT网

一,service与chkconfig命令的常用方式
格式:service <service>
打印指定服务<service>的命令行使用帮助。
 
格式:service <service> start
启动指定的系统服务<service>
 
格式:service <service> stop
停止指定的系统服务<service>
 
格式:service <service> restart
重新启动指定的系统服务<service>,即先停止(stop),然后再启动(start)。
 
格式:chkconfig --list
查看系统服务列表,以及每个服务的运行级别。
 
格式:chkconfig <service> on
设置指定服务<service>开机时自动启动。
 
格式:chkconfig <service> off
设置指定服务<service>开机时不自动启动。
 
格式:ntsysv
以全屏幕文本界面设置服务开机时是否自动启动。
 
二,service与chkconfig命令的实例
例一 网络重启
当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效。
[root@node34 root]# service network 
用法:/etc/init.d/network {start|stop|restart|reload|status}
[root@node34 root]# service network status 
配置设备:
lo eth0
当前的活跃设备:
lo eth0
[root@node34 root]# service network restart 
正在关闭接口 eth0:[  确定  ]
关闭环回接口:     [  确定  ]
设置网络参数:     [  确定  ]
弹出环回接口:     [  确定  ]
弹出界面 eth0:    [  确定  ]
[root@node34 root]#
 
例二 重启MySQL
[root@node34 root]# service mysqld 
用法:/etc/init.d/mysqld {start|stop|status|condrestart|restart}
[root@node34 root]# service mysqld status 
mysqld (pid 1638) 正在运行...
 

复制代码代码示例:
[root@node34 root]# service mysqld restart 
停止 MySQL:       [  确定  ]
启动 MySQL:       [  确定  ]

例三 service脚本源码展示
 

复制代码代码示例:
[root@web ~]# cat /sbin/service 
#!/bin/sh  
. /etc/init.d/functions  
  
VERSION="`basename $0` ver. 0.91"  
USAGE="Usage: `basename $0` < option > | --status-all | \  
[ service_name [ command | --full-restart ] ]"  
SERVICE=  
SERVICEDIR="/etc/init.d"   
OPTIONS=  
  
if [ $# -eq 0 ]; then  
   echo "${USAGE}" >&2  
   exit 1  
fi  
  
cd /  
while [ $# -gt 0 ]; do  
  case "${1}" in  
    --help | -h | --h* )  
       echo "${USAGE}" >&2  
       exit 0  
       ;;  
    --version | -V )  
       echo "${VERSION}" >&2  
       exit 0  
       ;;  
    *)  
       if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then  
          cd ${SERVICEDIR}  
          for SERVICE in * ; do  
            case "${SERVICE}" in  
              functions | halt | killall | single| linuxconf| kudzu)  
                  ;;  
              *)  
                if ! is_ignored_file "${SERVICE}" \  
                    && [ -x "${SERVICEDIR}/${SERVICE}" ]; then  
                  env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" status  
                fi  
                ;;  
            esac  
          done  
          exit 0  
       elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then  
          SERVICE="${1}"  
          if [ -x "${SERVICEDIR}/${SERVICE}" ]; then  
            env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop  
            env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" start  
            exit $?  
          fi  
       elif [ -z "${SERVICE}" ]; then  
         SERVICE="${1}"  
       else  
         OPTIONS="${OPTIONS} ${1}"  
       fi  
       shift  
       ;;  
   esac  
done  
  
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then  
   env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS}   
else  
   echo $"${SERVICE}: unrecognized service" >&2  
   exit 1  
fi 

例四 crond服务的源码
 

复制代码代码示例:
[root@web init.d]# cat /etc/init.d/crond 
#! /bin/bash  
#  
# crond          Start/Stop the cron clock daemon.  
#  
# chkconfig: 2345 90 60   
# description: cron is a standard UNIX program that runs user-specified \  
#              programs at periodic scheduled times. vixie cron adds a \  
#              number of features to the basic UNIX cron, including better \  
#              security and more powerful configuration options.  
# processname: crond  
# config: /etc/crontab  
# pidfile: /var/run/crond.pid  
  
# Source function library.  
. /etc/init.d/functions  
. /etc/sysconfig/crond  
t=${CRON_VALIDATE_MAILRCPTS:-UNSET}  
[ "$t" != "UNSET" ] && export CRON_VALIDATE_MAILRCPTS="$t"  
   
# See how we were called.  
    
prog="crond"  
  
start() {  
        echo -n $"Starting $prog: "  
        if [ -e /var/lock/subsys/crond ]; then  
            if [ -e /var/run/crond.pid ] && [ -e /proc/`cat /var/run/crond.pid` ]; then  
                echo -n $"cannot start crond: crond is already running.";  
                failure $"cannot start crond: crond already running.";  
                echo  
                return 1  
            fi  
        fi  
        daemon crond $CRONDARGS  
        RETVAL=$?  
        echo  
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/crond;  
        return $RETVAL  
}  
  
stop() {  
        echo -n $"Stopping $prog: "  
        if [ ! -e /var/lock/subsys/crond ]; then  
            echo -n $"cannot stop crond: crond is not running."  
            failure $"cannot stop crond: crond is not running."  
            echo  
            return 1;  
        fi  
        killproc crond  
        RETVAL=$?  
        echo  
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/crond;  
        return $RETVAL  
}  
  
rhstatus() {  
        status crond  
}  
  
restart() {  
        stop  
        start  
}  
  
reload() {  
        echo -n $"Reloading cron daemon configuration: "  
        killproc crond -HUP  
        RETVAL=$?  
        echo  
        return $RETVAL  
}  
  
case "$1" in  
  start)  
        start  
        ;;  
  stop)  
        stop  
        ;;  
  restart)  
        restart  
        ;;  
  reload)  
        reload  
        ;;  
  status)  
        rhstatus  
        ;;  
  condrestart)  
        [ -f /var/lock/subsys/crond ] && restart || :  
        ;;  
  *)  
        echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"  
        exit 1  
esac


以上通过实例介绍了linux命令之service与chkconfig命令的用法,这二个命令在配置linux服务时很有用,建议大家牢固掌握。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容