2
bash에 함수가 있는데, 단순히 "경과 된 시간 (초)"을 표시하는 "타이머"라고합니다. 현재는 별도의 프로세스로 실행되며, 부모 프로세스가 완료되면이를 종료합니다.트랩을 사용하여 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