繁体   English   中英

在mingw中发送信号的“ kill”功能在哪里?

[英]where is the “kill” function that sent signal in mingw?

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

看看Win32函数TerminateProcess

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM