插件窝 干货文章 centos命令怎么停止

centos命令怎么停止

进程 服务 sudo systemctl 864    来源:    2025-04-04

在 CentOS 系统中停止某个服务或进程,可以使用以下几种方法:


1. 停止系统服务(systemd 服务)

如果目标是一个通过 systemd 管理的服务(如 nginxhttpdmysql 等),使用以下命令:

# 停止服务
sudo systemctl stop <服务名>

# 示例:停止 Nginx
sudo systemctl stop nginx

补充命令: - 查看服务状态:sudo systemctl status <服务名> - 禁用开机启动:sudo systemctl disable <服务名> - 重启服务:sudo systemctl restart <服务名>


2. 停止旧版 SysV Init 服务

如果是较旧版本的 CentOS(使用 init 脚本),可以用:

sudo service <服务名> stop
# 示例
sudo service httpd stop

3. 强制终止进程(通过进程名或 PID)

如果服务无响应或需要直接杀死进程:

方法 1:通过进程名终止

# 使用 pkill
sudo pkill <进程名>

# 示例:终止所有 nginx 进程
sudo pkill nginx

方法 2:通过 PID 终止

# 查找进程 PID
ps aux | grep <进程名>

# 终止进程(假设 PID 为 1234)
sudo kill -9 1234

注意: kill -9 是强制终止信号,仅在普通 kill 无效时使用。


4. 停止所有用户的某个进程

如果需要终止所有用户的同名进程(如 httpd):

sudo killall <进程名>
# 示例
sudo killall httpd

5. 停止网络服务

  • 停止防火墙(firewalld): bash sudo systemctl stop firewalld
  • 停止 NetworkManager: bash sudo systemctl stop NetworkManager

6. 紧急情况:重启或关机

  • 重启系统:
    bash sudo reboot
  • 立即关机:
    bash sudo shutdown -h now

常见问题排查

  1. 权限不足:确保使用 sudo 或以 root 用户执行命令。
  2. 服务名错误:通过 systemctl list-units --type=service 确认正确的服务名。
  3. 进程残留:终止后检查是否仍有进程残留(ps aux | grep <进程名>)。

根据实际需求选择合适的方法。如果是生产环境,建议优先使用 systemctl 管理服务。