有多种方法可以杀掉服务器上的服务,具体取决于服务类型和操作系统:
1.查找服务进程
通过进程名查找 ps aux | grep 服务名 或通过端口查找 lsof -i :端口号 netstat -tlnp | grep :端口号 ss -tlnp | grep :端口号
2.杀掉进程的方法
正常终止(发送SIGTERM信号) kill PID 强制终止(发送SIGKILL信号) kill -9 PID kill -KILL PID
按进程名杀掉 pkill 进程名 强制杀掉 pkill -9 进程名 完全匹配进程名 pkill -x 进程名
杀掉所有同名进程 killall 进程名 强制杀掉 killall -9 进程名
3.系统服务管理
Systemd 系统(CentOS 7+, Ubuntu 16+, Debian 8+)
停止服务 systemctl stop 服务名 重启服务 systemctl restart 服务名 禁用开机启动 systemctl disable 服务名 查看服务状态 systemctl status 服务名
SysVinit 系统(CentOS 6, Ubuntu 14-)
停止服务 service 服务名 stop /etc/init.d/服务名 stop 重启服务 service 服务名 restart
4.常见服务示例
停止 systemctl stop nginx nginx -s stop 优雅停止 nginx -s quit
停止 systemctl stop apache2 # Ubuntu/Debian systemctl stop httpd # CentOS/RHEL 或使用apachectl apachectl -k stop
停止 systemctl stop mysql systemctl stop mariadb 或使用mysqld mysqladmin -u root -p shutdown
停止容器 docker stop 容器名 强制停止 docker kill 容器名
5.端口占用处理
查找占用端口的进程 fuser 端口号/tcp 杀掉占用端口的进程 fuser -k 端口号/tcp 或者 kill $(lsof -t -i:端口号)
6.安全建议
1、优先使用正常停止方式,避免使用kill -9(可能导致数据丢失)
2、检查服务依赖,确保不会影响其他服务
3、记录操作,便于排查问题
4、考虑使用监控工具,如supervisor管理进程
选择哪种方法取决于你的具体需求和环境,如果是系统服务,建议使用 systemctl 或 service 命令;如果是自定义进程,使用 kill 或 pkill 命令。
文章摘自:https://idc.huochengrm.cn/fwq/24841.html
评论