采用ps + grep + awk + pkill命令组合,可实现“结束由一个父进程产生的所有子进程”,如:
父进程名为 parent_proc,可先根据进程名称,得到进程PID
1 | ps -ef | grep parent_proc| egrep - v grep | awk '{print $2}' |
根据父进程PID终止所有子进程PID,保留父进程
1 | pkill -9 -P $p_pid |
完整脚本:
1 2 3 4 | for p_pid in ` ps -ef | grep parent_proc| egrep - v grep | awk '{print $2}' ` do pkill -9 -P $p_pid done |