D(相当稀疏)的官方文档没有关于在* nx或Windows上处理系统信号的任何内容。
system
模块只有Endian
和OS
,syserror
已弃用/仅适用于Windows errortext,signals
是关于消息传递的,而不是系统信号。
是否有一种方法(在纯D中)安装信号处理程序,捕获并允许我在运行时对某些信号作出反应,或者至少是一种检测信号被收到的方法以及我可以{ {1}}?
即,在Python中,一个简单的例子是:
catch
答案 0 :(得分:5)
它与C中的相同,只是导入而不是包含。找到一个看起来很有趣的C示例,如果您只使用标准C #include<signal.h>
函数,则将import core.stdc.signal;
更改为signal
;如果您使用Posix函数,则将import core.sys.posix.signal;
更改为sigaction
比如extern(C)
,然后记得用@nogc nothrow
标记你的回调(如果你使用的话)(在最新版本的D中,line = "C:\\recipe\\1,C:\\recipe\\2,C:\\recipe\\3,"
print(line.split(','))
也是如此),然后其余的代码应该编译与D中的方式相同。