在 Linux 下“批量管理进程”通常分为几种场景:批量查看、批量筛选、批量杀掉、批量启停、以及用工具做长期管理。下面按实用程度给你一套方案。
ps + grepps -ef | grep nginx
ps aux | grep java
pgrep(最常用、最安全)pgrep nginx
pgrep -u www nginx
ps -u appuser
ps -C java
pkill -f nginx
pkill -u appuser
pgrep java | xargs kill -9
kill -9 $(ps -ef | grep test | grep -v grep | awk '{print $2}')
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
批量:
systemctl restart nginx redis mysql
查看所有失败服务:
systemctl --failed
#!/bin/bash
for p in $(pgrep -f "worker"); do
kill -TERM $p
sleep 1
done
./start_workers.sh
适合 Python / Java / 脚本进程
[program:worker1]
command=/opt/worker1.sh
autostart=true
supervisorctl restart all
适合服务器长期运行
- name: restart nginx
service:
name: nginx
state: restarted
ansible all -m shell -a "pkill -f worker"
docker ps -q | xargs docker stop
docker restart $(docker ps -q)
kubectl delete pod -l app=nginx
kubectl rollout restart deployment/nginx
kill -9 数据库主进程SIGTERM,再 SIGKILLpkill -f 比 grep + kill 安全如果你能说清楚:
我可以直接给你一套可复制的配置或脚本。