c++ - 使用信号情报

标签 c++ windows signals

根据这个http://www.cplusplus.com/reference/clibrary/csignal/signal.html

SIGINT 通常由用户使用/引起。我如何在 C++ 中引起 SIGINT?我看到了一个使用 kill(pid, SIGINT); 的例子,但我宁愿用另一种方式导致它。我也在使用 Windows。

最佳答案

C89 和 C99 在 signal.h 中定义了 raise():

#include <signal.h>

int raise(int sig);

这个函数向调用进程发送一个信号,相当于

kill(getpid(), sig);

如果平台支持线程,那么调用等同于

pthread_kill(pthread_self(), sig);

成功时返回值为 0,否则为非零。

关于c++ - 使用信号情报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/482702/

相关文章:

c++ - 为什么实例化后什么也没有发生? (C++ 内存分配器实现)

windows - Composer,设置最低下载稳定性

css - Windows Phone 应用程序的解决问题?

我可以将 SIGCONT 发送到正在运行的进程吗?

c - sigsuspend 等价于 sigprocmask、pause、sigprocmask 的原子系列?

C++获取字符串中的最后一个(n)个字符

c++ - 为什么当从 VSCode 使用 GDB 时遇到断点时,GDB 会使我的程序崩溃?

windows - 使用 ShellExecuteEx 启动外部应用程序并等待其初始化

c - fork 进程执行休眠

c++ - 在不复制的情况下修剪字符串的开始