本文介绍了使用SIGINT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据此

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

SIGINT is generally used/cause by the user. How do i cause a SIGINT in c++? i seen an example using kill(pid, SIGINT); but i rather cause it another way. Also i am using windows.

推荐答案

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

C89 and C99 define raise() in signal.h:

#include <signal.h>

int raise(int sig);

此函数向调用进程发送信号,等效于

This function sends a signal to the calling process, and is equivalent to

kill(getpid(), sig);

如果平台支持线程,则调用等效于

If the platform supports threads, then the call is equivalent to

pthread_kill(pthread_self(), sig);

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

The return value is 0 on success, nonzero otherwise.

这篇关于使用SIGINT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 15:07