插件窝 干货文章 Linux 中重新启动服务的步骤是什么?

Linux 中重新启动服务的步骤是什么?

service systemctl sudo name 404    来源:    2025-04-09

在 Linux 系统中重新启动服务的方法取决于系统使用的初始化系统(init system)。以下是主流初始化系统的操作步骤:


1. systemd 系统(现代主流发行版:Ubuntu 16.04+/CentOS 7+/RHEL 7+)

# 重启单个服务
sudo systemctl restart <service_name>

# 示例:重启 Nginx
sudo systemctl restart nginx

# 其他常用命令
sudo systemctl start <service_name>    # 启动
sudo systemctl stop <service_name>     # 停止
sudo systemctl status <service_name>   # 查看状态

2. SysVinit 系统(旧版系统:Debian 7/CentOS 6 等)

# 通过 service 命令
sudo service <service_name> restart

# 或直接调用 init 脚本
sudo /etc/init.d/<service_name> restart

# 示例:重启 Apache
sudo service httpd restart
# 或
sudo /etc/init.d/httpd restart

3. 通用注意事项

  • 服务名称确认
    不确定服务名时,可用以下命令列出所有服务:

    systemctl list-unit-files --type=service  # systemd
    ls /etc/init.d/                          # SysVinit
    
  • 依赖关系
    某些服务可能有依赖项,重启时会影响相关服务。使用 systemctl 时会自动处理依赖。

  • 日志查看
    重启后检查日志以确认无错误:

    journalctl -u <service_name> -b      # systemd
    cat /var/log/<service_name>.log      # 传统日志
    

4. 特殊情况

  • 强制重启
    若服务无响应,可先强制终止进程再启动:

    sudo pkill -9 <process_name>
    sudo systemctl start <service_name>
    
  • 禁用/启用服务(开机自启管理):

    sudo systemctl disable <service_name>  # 禁止开机启动
    sudo systemctl enable <service_name>   # 启用开机启动
    

5. 图形化工具(可选)

  • systemd 系统
    使用 systemctl 的交互界面:

    sudo systemctl edit <service_name>  # 编辑服务配置
    sudo systemctl daemon-reload        # 重载配置
    
  • Web 管理工具
    如 Cockpit(需安装):

    sudo apt install cockpit    # Debian/Ubuntu
    sudo yum install cockpit    # CentOS/RHEL
    

根据你的 Linux 发行版和版本选择对应方法。现代系统推荐优先使用 systemctl