admin管理员组文章数量:1130349
windows 平台也是有信号处理接口的,而且与 unix 平台很相似。
void (__cdecl *signal(
int sig,
void (__cdecl *func ) (int [, int ] )))
(int);
不过支持的信号类型有限,只有下面这几种。
|
sig value |
Description |
|---|---|
|
SIGABRT |
Abnormal termination |
|
SIGFPE |
Floating-point error |
|
SIGILL |
Illegal instruction |
|
SIGINT |
CTRL+C signal |
|
SIGSEGV |
Illegal storage access |
|
SIGTERM |
Termination request |
windows信号处理函数是这一个新的 crt 线程执行的,该线程优先级较高,会先于普通线程被调度。
根据MSDN文档,SIGILL、SIGEGV、SIGTERM 在 NT 平台并不支持,但是可以通过 raise 接口触发。所以真正有用的只有SIGINT,也就是Ctrl + C,可以处理这个信号让进程正常退出。
windows 平台也是有信号处理接口的,而且与 unix 平台很相似。
void (__cdecl *signal(
int sig,
void (__cdecl *func ) (int [, int ] )))
(int);
不过支持的信号类型有限,只有下面这几种。
|
sig value |
Description |
|---|---|
|
SIGABRT |
Abnormal termination |
|
SIGFPE |
Floating-point error |
|
SIGILL |
Illegal instruction |
|
SIGINT |
CTRL+C signal |
|
SIGSEGV |
Illegal storage access |
|
SIGTERM |
Termination request |
windows信号处理函数是这一个新的 crt 线程执行的,该线程优先级较高,会先于普通线程被调度。
根据MSDN文档,SIGILL、SIGEGV、SIGTERM 在 NT 平台并不支持,但是可以通过 raise 接口触发。所以真正有用的只有SIGINT,也就是Ctrl + C,可以处理这个信号让进程正常退出。
版权声明:本文标题:windows 平台的信号处理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754101182a2644181.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论