Answers:
为此,您可以创建一个子例程,在收到SIGINT时要调用该子例程,并且需要运行trap 'subroutinename' INT
。
例:
#!/bin/bash
int_handler()
{
echo "Interrupted."
# Kill the parent process of the script.
kill $PPID
exit 1
}
trap 'int_handler' INT
while true; do
sleep 1
echo "I'm still alive!"
done
# We never reach this part.
exit 0
EXIT
在脚本退出时,无论脚本如何停止,您都可以随时执行某些操作。(KILL
除外,当然。)
bg
杀死该任务或在前台继续进行该任务fg
。请参阅bash联机帮助页JOB CONTROL
。