- 浏览: 4754791 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
我使用过的Linux命令之service - 系统服务管理
本文链接:http://codingstandards.iteye.com/blog/985455 (转载请注明出处)
用途说明
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。
看看下面的手册页可能更加清楚的了解service的内幕:service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。
NAME
service - run a System V init script
SYNOPSIS
service SCRIPT COMMAND [OPTIONS]
service --status-all
service --help | -h | --version
DESCRIPTION
service runs a System V init script in as predictable environment as possible, removing most environment vari-
ables and with current working directory set to /.
The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT. The supported values of
COMMAND depend on the invoked script, service passes COMMAND and OPTIONS it to the init script unmodified. All
scripts should support at least the start and stop commands. As a special case, if COMMAND is --full-restart,
the script is run twice, first with the stop command, then with the start command.
service --status-all runs all init scripts, in alphabetical order, with the status command.
FILES
/etc/init.d
The directory containing System V init scripts.
ENVIRONMENT
LANG, TERM
The only environment variables passed to the init scripts.
SEE ALSO
chkconfig(8), ntsysv(8)
Jan 2006 service(8)
常用方式
格式: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
以全屏幕文本界面设置服务开机时是否自动启动。
使用示例
示例一 网络重启
当修改了主机名、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 mysql
mysql: unrecognized service
[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: [ 确定 ]
[root@node34 root]#
示例三 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
[root@web ~]#
示例四 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
[root@web init.d]#
问题思考
相关资料
【1】测试人生 linux 中不常用的命令--service
http://www.51testing.com/?uid-66775-action-viewspace-itemid-78574
【2】linux大棚 《service》-“linux命令五分钟系列”之二
http://roclinux.cn/?p=47
【3】yqh860921 Linux Service 服务管理
http://blogold.chinaunix.net/u3/95470/showart_1934759.html
【4】酷勤 Linux system service 注释
http://www.kuqin.com/linux/20090824/67321.html
【5】momodog 自定义Linux Service
http://momodog.iteye.com/blog/286047
发表评论
-
在Linux用tar归档压缩文件时忽略某些文件和目录
2013-02-01 10:19 17055在Linux下,常用tar对文 ... -
使用nmap扫描服务器端口的一次操作
2012-11-01 17:00 15143使用nmap扫描服务器端口的一次操作 本文来自:http ... -
我使用过的Linux命令之wget - ooo
2011-09-14 13:10 0我使用过的Linux命令之wg ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:53 9151简明 Vim 练级攻略 http://coolshell.c ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:49 1简明 Vim 练级攻略 http://coolshell.c ... -
我使用过的Linux命令之:(冒号) - 啥也不做(除了……)
2011-08-29 13:18 12104我使用过的Linux命令之: ... -
我使用过的Linux命令之date - 显示、修改系统日期时间
2011-08-25 09:21 41987我使用过的Linux命令之da ... -
我使用过的Linux命令之declare - 声明shell变量(不知道没关系、知道了就更好的内建命令)
2011-08-16 09:22 21836我使用过的Linux命令之declare - 声明shell变 ... -
我使用过的Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
2011-08-11 09:31 28831我使用过的Linux命令之alias - 设置命令的别名,让 ... -
我使用过的Linux命令之ar - 创建静态库.a文件
2011-08-08 10:40 51936我使用过的Linux命令之ar - 创建静态库.a文件 本 ... -
我使用过的Linux命令之crontab - 设置例行任务(类似于Windows中的任务计划)
2011-08-04 22:26 9754我使用过的Linux命令之crontab - 设置例行任务(类 ... -
我使用过的Linux命令之chmod - 改变文件/目录的访问权限
2011-08-03 21:33 10709我使用过的Linux命令之chmod - 改变文件/目录的访问 ... -
我使用过的Linux命令之export - 设置或显示环境变量
2011-08-02 19:55 25442我使用过的Linux命令之export - 设置或显示环境变量 ... -
我使用过的Linux命令之wc - 统计文件行数、单词数或字节数
2011-07-26 10:50 29020我使用过的Linux命令之wc - 统计文件行数、单词数或字节 ... -
我使用过的Linux命令之groupdel - 删除群组
2011-07-22 22:13 9695我使用过的Linux命令之gr ... -
我使用过的Linux命令之ifconfig - 网络配置命令
2011-07-21 20:43 60560我使用过的Linux命令之ifconfig - 网络配置命令 ... -
我使用过的Linux命令之ll - 列出文件/目录的详细信息
2011-07-20 21:22 7210我使用过的Linux命令之ll ... -
我使用过的Linux命令之mkdir - 创建目录
2011-07-20 20:58 13690我使用过的Linux命令之mkdir - 创建目录 本文链 ... -
我使用过的Linux命令之perror - 解释错误代码
2011-07-18 20:29 25085我使用过的Linux命令之perror - 解释错误代码 ... -
我使用过的Linux命令之ping - 测试与目标主机的连通性
2011-07-16 10:46 26617我使用过的Linux命令之ping - 测试与目标主机的连通性 ...
相关推荐
在Linux操作系统中,网络通信管理和系统服务管理是两个至关重要的方面。通过熟练掌握相关的命令,可以有效地监控和调整系统的网络连接以及服务运行状态。以下是对实验报告中涉及的知识点的详细解释: 1. **网络管理...
- **SSH服务**: Secure Shell提供远程登录和其他安全网络服务,用于系统管理。配置文件位于`/etc/ssh/sshd_config`。 - **NTP服务**: Network Time Protocol确保系统时间同步。服务名为`ntpd`,配置文件为`/etc/...
在IT领域,Linux操作系统是许多...以上只是Linux命令和系统管理的基础,实际操作中还有更多高级功能和技巧。学习和熟练掌握这些命令,将使你在处理Linux系统时更加得心应手。不断实践和探索,才能真正领略Linux的魅力。
本文将围绕“Linux系统上Web服务器管理命令”的主题,详细解析与之相关的常用命令及操作步骤。 #### 二、Oracle数据库服务管理 ##### 2.1 启动服务 - **启动命令**: 使用批处理文件`启服务器.bat`启动Oracle服务。 ...
### Linux网络操作系统-Linux系统管理实验报告 #### 实验目的及环境 本次实验的主要目标在于深化学生对于Linux系统管理的理解与实践能力。具体包括以下几个方面: 1. **熟悉命令行方式下的用户和用户组管理**:...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,特别是在Web应用程序中。MySQL 5.7.44是该系列的一个重要版本,提供了许多性能优化、安全增强和功能改进。在Linux环境下,MySQL通常以源码形式安装,以便更好地...
#### 八、系统管理命令 1. **shutdown (关机或重启系统)** - 用途:关闭或重启系统。 - 示例:`shutdown now` 立即关闭系统。 2. **reboot (重启系统)** - 用途:重启系统。 - 示例:`reboot` 重启系统。 3...
Linux 系统管理实验 9 - DHCP 服务器搭建与配置旨在让学生掌握 Linux 环境下 DHCP 服务器的配置与使用。DHCP(Dynamic Host Configuration Protocol)是一种允许服务器自动分配 IP 地址给客户端的协议。在本实验中,...
Linux命令极其丰富,每一条命令都有自己的参数和用法,熟练使用这些命令,将大大提高Linux系统的工作效率和管理能力。由于Linux系统的多样性和开放性,许多工具和命令可能因不同的发行版而略有差异,因此,对于Linux...
- **添加服务**: 执行`chkconfig --add apache`命令将源码包服务添加到`chkconfig`管理系统中,这样就可以使用`chkconfig --list apache`查看服务的状态了。 #### 三、案例分析:Apache源码包服务管理 假设我们...
6. **启动服务**:使用系统特定的命令(如`systemctl start mysql`或`service mysql start`)启动MySQL服务。 7. **安全设置**:运行`mysql_secure_installation`脚本以加强安全设置,如删除匿名用户、禁用远程root...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,尤其在Web应用程序中被广泛使用。这个压缩包文件"mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz"是专为Linux操作系统设计的MySQL 5.6.16版本的安装包。以下是...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,特别是在Web应用程序中。这个特定的压缩包"mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz.7z"包含了MySQL 5.7.30版本,这是MySQL的稳定版本,适用于Linux操作系统...
MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,尤其在Web应用程序中广泛使用。本文将详述如何在Linux 64位环境下安装MySQL 5.7.33版本,该版本是针对Linux glibc2.12库优化的。 首先,我们需要了解...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其5.7.37版本是一个稳定且功能丰富的版本。这个压缩包“mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz”是为Linux操作系统设计的,特别是针对使用glibc 2.12库...
10. **启动MySQL服务**:使用`service mysql.server start`命令启动MySQL服务。 11. **登录和密码过期问题**:初次登录可能会遇到密码过期的问题。此时,需要编辑`/etc/my.cnf`,添加`skip-grant-tables`以跳过授权...
在Linux操作系统中,服务管理是系统维护的重要部分。本文主要讲解了如何管理和配置Linux系统服务,特别是针对MySQL服务的操作,以及一些常用的进程管理和计划任务工具。 首先,每个服务在Linux的不同运行级别都有...
在Linux系统中,掌握一系列的基础命令对于日常管理和服务器部署至关重要。这些命令可以帮助我们快速高效地完成各种任务,从简单的网络配置到复杂的数据库管理。本文将详细介绍Linux服务器部署过程中常用的一些基础...
在Linux操作系统中,进程和服务的管理是系统管理员必须掌握的重要技能。进程,简单来说,就是正在运行的程序实例,每个进程都有独立的内存空间和执行状态。例如,Apache web服务器在运行时,对于多个用户的HTTP请求...
在IT领域,Linux系统服务管理是一项至关重要的技能,尤其对于运维人员和系统管理员而言。Linux是一种自由、开放源代码的操作系统,广泛应用于服务器、嵌入式设备和超级计算机。本讲义将深入探讨Linux系统服务的管理...