这个问题通常是由于子进程没有正确收到SIGINT和SIGTERM信号引起的。解决此问题的方法是使用信号处理程序来正确处理这些信号。一个例子是:
#!/bin/bash
trap "echo 'Caught SIGINT signal!'" SIGINT
trap "echo 'Caught SIGTERM signal!'" SIGTERM
while true
do
echo "Running..."
sleep 1
done
在上面的脚本中,trap命令用来设置信号处理程序。当脚本收到SIGINT或SIGTERM信号时,它将在终端中打印相应的消息。
这样,在执行完脚本后,在终端中键入“exit”将不再是必需的。
上一篇:Bash脚本串联