自学内容网 自学内容网

service 命令:管理系统服务

一、命令简介

service​ 命令是 Linux 系统中用于管理服务的工具,它通过调用位于 /etc/init.d/ ​目录下的服务脚本,来启动、停止、重启、查询状态等操作系统服务(守护进程)。service ​命令是一个便捷的 shell 脚本,简化了对服务脚本的直接调用。

随着 systemd​ 的普及,新版的 Linux 发行版可能不再包含 service​ 命令,而是使用 systemctl​ 命令来管理服务。

二、命令参数

service [选项] [service_name] [command]

选项:

  • -h​ 或 --help​:显示帮助信息。
  • -v​ 或 --version​:显示版本信息。

service_name:

  • 表示服务的名称,通常是 /etc/init.d/​ 目录下的脚本文件名。

command:

  • start​:启动服务。
  • stop​:停止服务。
  • restart​:重启服务。
  • reload​:重新加载服务的配置文件。
  • status​:查看服务的当前状态。
  • condrestart​:如果服务正在运行,则重启服务。
  • enable​:设置服务开机自启。
  • disable​:禁止服务开机自启。

三、命令示例

1 查看所有服务的状态

service --status-all

输出

 [ - ]  nginx
 [ - ]  rsync
 [ + ]  ssh
 [ - ]  sysstat
 [ + ]  ufw
...
  • +​:表示该服务当前正在运行(active)。
  • -​:表示该服务当前没有运行(inactive 或 stopped)。

2 管理一个服务

以nginx为例

1. 启动 Nginx 服务

启动 Nginx 服务:

sudo service nginx start
2. 停止 Nginx 服务

停止 Nginx 服务:

sudo service nginx stop
3. 重启 Nginx 服务

当修改了 Nginx 的配置文件时,可以使用 restart​ 命令重新启动服务:

sudo service nginx restart
4. 重新加载 Nginx 服务

如果你修改了 Nginx 配置文件,但不想停止当前的连接,可以重新加载配置而不中断服务:

sudo service nginx reload
5. 检查 Nginx 服务的状态

使用 status​ 查看 Nginx 服务是否正在运行:

sudo service nginx status

示例输出:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2024-09-25 10:00:00 UTC; 3min ago
     Docs: man:nginx(8)
 Main PID: 1234 (nginx)
    Tasks: 3 (limit: 4677)
   Memory: 10.2M
   CGroup: /system.slice/nginx.service
           ├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─1235 nginx: worker process
6. 禁用 Nginx 开机自启

如果你不想让 Nginx 服务在系统启动时自动启动,可以使用以下命令禁用它:

sudo systemctl disable nginx
7. 允许 Nginx 开机自启
sudo systemctl enable nginx

3 实际场景中的示例

示例 1:检查 Nginx 是否运行

运行以下命令:

sudo service nginx status

输出显示 Nginx 正在运行(Active: active (running)​),这表明服务正在正常工作。

示例 2:重启 Nginx

当我们修改了 /etc/nginx/nginx.conf​ 文件后,使用以下命令重新启动 Nginx 以应用新配置:

sudo service nginx restart
示例 3:重新加载 Nginx

假设配置文件中只有轻微更改,不希望中断当前连接,可以使用 reload 命令:

sudo service nginx reload


原文地址:https://blog.csdn.net/qq_38641599/article/details/142503971

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!