您的位置:

学会使用systemctl命令启动Linux服务

一、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命令的实际使用:

  1. 首先,安装Apache:

      # CentOS 7:
      yum install httpd
      
      # Ubuntu 16.04:
      apt-get install apache2
      
  2. 启动Apache:

      systemctl start httpd   # CentOS 7
      
      systemctl start apache2 # Ubuntu 16.04
      
  3. 查询Apache的状态:

      systemctl status httpd   # CentOS 7
      
      systemctl status apache2 # Ubuntu 16.04
      
  4. 停止Apache:

      systemctl stop httpd   # CentOS 7
      
      systemctl stop apache2 # Ubuntu 16.04
      

四、自定义服务脚本

在Linux中,我们可以自定义服务脚本,使用systemctl来管理这些服务。

以下示例演示如何创建一个简单的系统服务并使用systemctl来管理它。

  1. 创建服务文件

    在/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
      
  2. 重载systemctl

    在创建完服务文件后,我们需要运行下面的命令来重载systemctl:

      systemctl daemon-reload
      
  3. 启动服务

    使用下面的命令启动这个服务:

      systemctl start my-service
      
  4. 停止服务

    使用下面的命令停止这个服务:

      systemctl stop my-service
      
  5. 查看服务状态

    使用下面的命令查看这个服务的状态:

      systemctl status my-service
      

五、总结

systemctl命令是Linux下常用的服务管理命令,它可以管理系统守护进程,可以启动、停止、重启、查询服务状态等操作,同时也可以自定义服务脚本来使用systemctl管理服务。