gpt4 book ai didi

java - Java 中忽略 SIGINT

转载 作者:行者123 更新时间:2023-12-02 01:49:12 26 4
gpt4 key购买 nike

我正在为 Unix 上的 native 共享库使用 Java 包装器 ( JRI )。 native 库(R 的基于 C 的 REPL 实现)在内部处理 SIGINT。使用 Java 包装器时,当我使用以下命令向进程发送 SIGINT 时,Java 应用程序将退出:

kill -SIGINT pid

我希望 SIGINT 完全由 native 库在内部处理。

有没有一种简单的方法可以让 Java 完全忽略 SIGINT,但仍然让 native 库接收它?

添加:

最好这可以在 Unix 和 OSX 上运行。

最佳答案

没有标准的 API,但如果您使用 Sun JDK,则可以使用 sun.misc.Signalsun.misc.SignalHandler 。文档中的示例:

SignalHandler handler = new SignalHandler () {
public void handle(Signal sig) {
... // handle SIGINT
}
};
Signal.handle(new Signal("INT"), handler);

关于java - Java 中忽略 SIGINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3250280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com