在Android的处理UNIX信号(Handling unix signals in Android

2019-09-16 15:17发布

我写会谈到使用命名管道C ++应用程序的Java应用程序。 当C ++应用程序去世时,Java得到SIGPIPE和Java应用死亡。

在C / C ++,我知道如何捕捉该信号,并忽略它。 是否有可能做在Android / Java的类似的东西?

Answer 1:

看来这是不是真的有可能。 可用的最好的解决办法是添加一个关闭挂钩和“优雅”重新启动应用程序,如下所述:

编辑:

我需要这个,因为(当时)我对我开了一个FD和R / W它JNI代码。 该FD被打开了一个名为socket(UNIX管道),而当管的远程端(在我的情况下,守护程序,或Android C /服务)关闭连接(或死亡),你身边会不会得到一个信号。 这并不总是好的。 恕我直言,最好的处理这应该利用好老平原-C代码的信号处理程序,只吞下它(否则 - 你应该通知您的应用程序的Java端)。

http://stackoverflow.com/questions/2541597/how-to-gracefully-handle-the-sigkill-signal-in-java


文章来源: Handling unix signals in Android