bash中的信号处理程序似乎不起作用

时间:2013-02-28 16:18:46

标签: bash signals

在window1中运行以下脚本

#!/bin/bash

function handler
{
  echo "the time is $(date)" >> /tmp/zz
}

rm /tmp/zz
trap handler USR1
echo "This is $$"
cat

在window2中我发送的信号为“kill -USR1 PID_OF_WINDOW1_SCRIPT”

发送信号后,/tmp/zz文件不存在

我很确定这在过去对我有用 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

cat完成之前,shell无法自由调用您的处理程序。键入一个文件结束符( Control d )以结束cat,这样shell就可以运行你的处理程序并退出。