【发布时间】:2017-12-12 12:00:43
【问题描述】:
我在 bash 中有一个函数,称之为“计时器”,它只显示经过的秒数。目前,它在一个单独的进程中运行,完成后父进程将其杀死。
我希望函数能够以某种方式捕获信号并优雅地退出,但我不知道如何。这是现在的示例脚本:
#!/bin/bash
function timer () {
t0=$(date +%s)
while true ; do
t=$(date +%s)
echo -en "\r$(($t - $t0))"
done
}
timer &
pid=$!
echo $pid
sleep 5 # do something while timer runs
echo "done"
kill -9 $pid
【问题讨论】: