我想使用Unix.sigprocmask
阻止OCaml中的所有信号。在C中,我会使用函数sigfillset
来执行此操作,该函数在Unix模块中不可用。那么如何获取OCaml中所有信号的列表,然后我可以传递给sigprocmask
?
答案 0 :(得分:0)
Unix.sigprogmask需要2个参数:一个命令,一个列出你希望阻止的信号id的int列表。
Unix.sigprocmask Unix.SIG_BLOCK (Core.List.init 32 (fun x -> x+1));;
这将阻止32个信号从1到32。