一、systemctl命令简介
systemctl是Linux下常用的服务管理命令,可以启动、停止、重启、查询服务状态等操作,同时也可以管理系统守护进程。它类似于之前版本的service命令,但相比之下更为强大和灵活。
systemctl在CentOS 7和Ubuntu 16.04及以上版本中都得到了广泛应用。
二、基本使用方式
systemctl命令的基本使用方式如下:
# 启动服务 systemctl start SERVICE_NAME # 关闭服务 systemctl stop SERVICE_NAME # 重新启动服务 systemctl restart SERVICE_NAME # 列出所有服务 systemctl list-unit-files # 查询服务状态 systemctl status SERVICE_NAME
其中,SERVICE_NAME需要替换成实际的服务名称。
三、实际示例
以启动Apache服务器为例,演示systemctl命令的实际使用:
首先,安装Apache:
# CentOS 7: yum install httpd # Ubuntu 16.04: apt-get install apache2
启动Apache:
systemctl start httpd # CentOS 7 systemctl start apache2 # Ubuntu 16.04
查询Apache的状态:
systemctl status httpd # CentOS 7 systemctl status apache2 # Ubuntu 16.04
停止Apache:
systemctl stop httpd # CentOS 7 systemctl stop apache2 # Ubuntu 16.04
四、自定义服务脚本
在Linux中,我们可以自定义服务脚本,使用systemctl来管理这些服务。
以下示例演示如何创建一个简单的系统服务并使用systemctl来管理它。
创建服务文件
在/etc/systemd/system/目录下创建一个以.service结尾的文件。文件名可以是任意的,但是后缀必须是.service。在这个文件中,我们定义了服务的描述信息、启动和停止命令等。以下是一个简单示例:
[Unit] Description=My custom service After=network.target [Service] ExecStart=/usr/bin/custom-command Restart=on-failure [Install] WantedBy=multi-user.target
重载systemctl
在创建完服务文件后,我们需要运行下面的命令来重载systemctl:
systemctl daemon-reload
启动服务
使用下面的命令启动这个服务:
systemctl start my-service
停止服务
使用下面的命令停止这个服务:
systemctl stop my-service
查看服务状态
使用下面的命令查看这个服务的状态:
systemctl status my-service
五、总结
systemctl命令是Linux下常用的服务管理命令,它可以管理系统守护进程,可以启动、停止、重启、查询服务状态等操作,同时也可以自定义服务脚本来使用systemctl管理服务。