SIG_ERR它表示一个函数指针,如果不出错的话,signal()会返回以前的信号处理函数的地址。你的SIGUSER1定义了吗?默认的话,系统没有这一个信号SIG_ERR是这样定义的#define SIG_ERR (void (*) () ) -1