【问题标题】:Linux - Child process to survive parent process tree killLinux - 子进程生存父进程树杀死
【发布时间】:2017-02-13 09:28:08
【问题描述】:

动机:

在一个 Java 程序中,我设置了一个要在 -XX:OnOutOfMemoryError 上执行的 bash 脚本。该脚本负责将堆转储上传到 HDFS。但是,通常只有文件的一部分被上传。

我怀疑 JVM 在上传脚本完成之前被集群管理器杀死了。我的猜测是 JVM 接收到一个进程组终止信号,并将 bash 脚本(即它的子进程)也关闭了。

问题:

在 unix 中有没有办法以这样的方式运行子进程,当它的父进程收到组终止信号时它不会死亡?

【问题讨论】:

标签: bash unix


【解决方案1】:

您可以使用disown。在后台启动进程,然后取消它,任何给进程父进程的终止信号将不再传播给子进程。

脚本看起来像:

./handler_script &
disown

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多