取消脚本进程之——后台进程

今天碰到一个问题,把一个正在运行的脚本取消,可是该脚本在后台起来的线程仍然在运行。

简单测试了一下

#!/bin/bash

echo "Begin Test ..."

(sleep 100)&
(sleep 100)&
(sleep 100)&

wait 
echo "End Test ..."

在脚本还在等待返回的时候ctrl +c停止脚本,发现后台的sleep不受影响。

目前打算先获取主进程的进程号pid,这些后台进程的父进程号就是该pid,通过该pid获取后台进程的线程号,从而杀死这些后台线程。

原文地址:https://www.cnblogs.com/ManMonth/p/5132797.html