【问题标题】:UNIX SIGNAL TO AUTOSYSUNIX 信号到 AUTOSYS
【发布时间】:2012-11-14 18:17:28
【问题描述】:

在 AUTOSYS 服务器中,我们有一堆 java 进程要在不同时间运行。 大多数 java 进程没有退出语句,因此我们编写了一些停止作业,如在 shell 脚本中以终止在预定停止时间运行的进程。当我们终止这些进程时,Autosys 作业状态设置为已终止,因此我们收到了不正常的警报。

目前我们正在使用 KILL -9 PROCESS_ID 命令来终止将 autosys 作业设置为 TE 的进程。

是否有任何 UNIX 命令可以顺利退出进程,使 AUTOSYS 状态变为 SU(成功)? .

【问题讨论】:

    标签: java unix autosys


    【解决方案1】:

    最简单的做法是将 java 的调用包装在一个读取终止退出代码的 shell 脚本中,并在读取表示通过信号终止的退出代码时以 0 返回代码退出。

    例如

    #!/bin/bash -p
    
    java dothestuff
    rc=$?
    if [ $rc -eq 130 ]; then
        echo "Killed by SIGINT"
        exit 0
    fi
    exit $rc
    

    【讨论】:

    • 感谢您的回复,但在我的项目中,在 java dothestuff 调用的 java 服务(这里的 java 是一个 while 无限循环,java 文件中没有 system.exit),不会在这种情况下 t rc 变量为空?
    • JVM 被信号杀死时,将以非零退出代码终止。
    猜你喜欢
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2015-06-21
    相关资源
    最近更新 更多