0

我在 windows xp 中用 mingw 编译了我的代码。我想向子线程发送 SIGINT 信号。但是“signal.h”的头文件不包含“kill”函数。函数 raise(SIGINT) 将完成程序。我必须使用 kill(pid,SIGINT) 才能工作。但是没有函数。

4

3 回答 3

0

kill 函数是 c 标准库的一部分,代表一个系统调用,它将指定的信号发送到目标进程。由于你使用mingw,它不使用glibc库,而是使用gnulib来编译,所以你应该检查相应的gnulib函数。

于 2013-01-09T02:41:33.407 回答
0

mingw 不支持在 Windows 上杀死。您可以使用 SendMessage 到另一个线程的窗口,让它处理它并优雅地死去。对于非窗口应用程序,使用事件(CreateEvent / WaitForSingleObject)作为与“子”线程的通信机制。

于 2013-01-09T03:52:46.367 回答
0

看看 Win32 函数TerminateProcess

于 2013-01-09T02:28:14.307 回答