在mingw中发送信号的“kill”函数在哪里?

时间:2013-01-09 02:13:51

标签: c++ c visual-c++ mingw

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

3 个答案:

答案 0 :(得分:0)

查看Win32函数TerminateProcess

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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