【问题标题】:Starting another shell script without waiting无需等待即可启动另一个 shell 脚本
【发布时间】:2014-06-02 13:22:13
【问题描述】:

我有两个脚本 script1.sh 和 script2.sh。我想从第一个脚本开始第二个脚本,但不想阻止第一个脚本或等待第二个脚本执行完成。

script1.sh:

echo "inside first script"
script2.sh &
exit 0

script2.sh:

sleep 1m
echo "inside script2"

我想要的是,一旦从 script1 中启动 script2,script1.sh 应该退出,并且不应该让 script2 完成。但我无法做到这一点。

谁能帮帮我。

谢谢。

【问题讨论】:

  • 但我无法做到这一点 -- 你能详细说明一下吗?
  • 您所拥有的完全正确。为什么你认为它不起作用?也许您的提示显示在“内部脚本2”之前。尝试执行命令。

标签: bash shell


【解决方案1】:

您可以使用setsid 命令在新会话中启动新程序:

脚本 1:

#!/bin/sh
(setsid "./script2.sh" &);

脚本 2:

#!/bin/sh
# Whatever

编辑:实际上,您当前的解决方案似乎已经奏效了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2021-03-05
    相关资源
    最近更新 更多