【发布时间】:2012-01-24 02:22:24
【问题描述】:
对于我正在开发的 webapp,我有一个 bash 脚本来监视源代码的变化并更新运行环境。
function app-serve {
python runserver.py
}
function compile-coffee {
inotifywait -e modity scripts | while read change; do
coffee -o js scripts
done
}
现在,我需要这两个函数同时运行,
app-serve &
compile-coffee &
等等
wait
问题是,当我想停止这些进程时,一个简单的Ctrl-C 并没有这样做。当我执行Ctrl-C 时,我会返回命令提示符,但函数中运行的进程仍然存在。
有没有办法告诉 bash 等到我点击 Ctrl-C,然后杀死所有子进程?
编辑:澄清一下,我看到我在app-serve 函数中启动的python 进程被 杀死了。只有inotifywait 和几个bash 进程悬空。
【问题讨论】:
标签: bash shell subprocess