【问题标题】:Linux set -x when run from a process on Azure从 Azure 上的进程运行时 Linux 设置 -x
【发布时间】:2015-07-25 02:37:54
【问题描述】:

我有设置环境并运行 java 进程的 bash 脚本。 该脚本调用“set -x”。 我有一个 init.d 服务,它运行一个保护 java 程序,该程序执行各种保护任务,包括识别进程已死并运行启动它的 shell。 在 AWS 上它运行完美。 我搬到了 azure 并且 bash 脚本在从命令行运行时运行良好,但在从保护 java 进程运行时不起作用。 取下“set -x”解决了它,现在它也在天蓝色上运行。 知道什么会导致问题吗? 谢谢, 尼尔

【问题讨论】:

    标签: java linux bash azure amazon-ec2


    【解决方案1】:

    您在 Azure 上使用的操作系统版本是什么。我们无法重现该问题。我们还运行了一个 init.d 服务,该服务运行一个示例 java 程序,该程序又调用一个在其中设置了 -x 的 shell 脚本。

    set -x 对您运行脚本很重要吗?因为它所做的只是提供脚本中正在执行的每个语句的详细信息。

    【讨论】:

    • 天蓝色服务器(有问题的那个)的版本是6.4。在 AWS 上是 5.4。我删除了“set -x”,但我仍然想了解问题的原因。
    • 我假设您使用的是 Oracle Linux 6.4?
    • 在 AWS 上是 Oracle,但在 azure 上是 Centos
    • 我们在 CentOS 上试过这个,但无法重现这个问题。这是您正在使用的 Guard Java 程序吗:github.com/infospace/guard-java
    • 不,这是我写的使用 RunTime.getRunTime.exec("sh myscript.sh")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    相关资源
    最近更新 更多