生成文件:
default:
command1 &
command2 &
当我运行make
并点击 Control-C 时,command1
和command2
继续运行。我怎样才能使command1
和command2
一旦被杀死就被杀死? command1
和command2
应该并行运行。 Command1监视源文件并编译它们。 Command2是一个网络服务器。
答案 0 :(得分:2)
您可以将make自己的并行选项make -j2
与makefile一起使用:
default: task1 task2
task1:
command1
task2:
command2
make将负责中断command1和command2。
答案 1 :(得分:0)
以下代码有效我不明白为什么。我是从https://veithen.github.io/2014/11/16/sigterm-propagation.html
取的生成文件:
.PHONY: default
default:
bash build.sh
Build.sh:
#!/bin/bash
trap 'kill -TERM $PID' TERM INT
webpack & # Command 1
http-server -p 8000 -c-1 & # Command 2
PID=$!
wait $PID
trap - TERM INT
wait $PID
EXIT_STATUS=$?