在 Linux 中,“重启进程”并没有一个统一的命令,通常取决于进程的类型、启动方式以及你是否有 root 权限。下面按常见场景给你一个完整说明。
| 场景 | 推荐方式 |
|---|---|
| 普通程序 | 先 kill 再启动 |
| 服务(systemd) | systemctl restart |
| 后台进程 | kill + 重新执行 |
| 自动重启 | 使用 systemd / supervisor |
| 进程卡死 | kill -9 |
ps -ef | grep 进程名
# 或
pgrep 进程名
示例:
ps -ef | grep nginx
kill PID
如果进程无响应:
kill -9 PID
⚠️ kill -9 是强制杀死,可能导致数据丢失,慎用。
./程序名 &
# 或
nohup ./程序名 &
systemctl status 服务名
sudo systemctl restart 服务名
示例:
sudo systemctl restart nginx
sudo systemctl restart docker
sudo systemctl enable 服务名
/etc/init.d/服务名 restart
或:
service 服务名 restart
示例:
service mysql restart
kill $(pgrep myapp)
./myapp &
或:
pkill myapp
./myapp &
[Service]
ExecStart=/usr/bin/myapp
Restart=always
[program:myapp]
command=/usr/bin/python app.py
autorestart=true
| 操作 | 影响 |
|---|---|
| 重启进程 | 只影响单个程序 |
| 重启系统 | 所有进程和服务 |
系统重启:
sudo reboot
kill -9 PID
lsof -i :端口号
kill -9 PID
Linux 没有“重启进程”命令,本质是:先停止进程,再启动进程。
如果你愿意,可以告诉我:
我可以给你一个精确命令或配置文件示例 ✅