g4s*_*4s8 6 linux bash process interrupt
我正在从 bash 脚本启动两个子进程并使用wait命令等待两者完成:
./proc1 &
pid1=$!
echo "started proc1: ${pid1}"
./proc2 &
pid2=$!
echo "started proc2: ${pid2}"
echo -n "working..."
wait $pid1 $pid2
echo " done"
Run Code Online (Sandbox Code Playgroud)
这个脚本在正常情况下工作正常:它等待两个进程完成并在它之后退出。但有时我需要停止这个脚本(使用Ctrl+C)。但是当我停止它时,子进程不会被中断。我怎样才能用主脚本完全杀死它们?
MAQ*_*MAQ 13
设置陷阱处理 SIGINT (Ctrl+C)。在你的情况下,这将是这样的:
trap "kill -2 $pid1 $pid2" SIGINT
Run Code Online (Sandbox Code Playgroud)
只需将它放在等待命令之前。
| 归档时间: |
|
| 查看次数: |
1654 次 |
| 最近记录: |