【发布时间】:2011-03-09 23:22:12
【问题描述】:
我遇到的主要问题是后台处理来自 Hudson-CI 的屏幕会话。 shell 步骤是我需要从另一个脚本启动的脚本启动屏幕会话。这是一个简单的测试:
test.sh:
#!/bin/bash
myscreen.sh
myscreen.sh:
#!/bin/bash
screen -dm -S myscreen pingit.sh
pingit.sh:
#!/bin/bash
ping google.com
如果我运行 ./myscreen.sh,我会启动一个屏幕,该屏幕会连续运行 ping 而不会出现问题。
如果我运行 ./test.sh,屏幕永远不会启动。我假设有一些基本的东西我要么忘记要么不理解,但我不知道是什么。我认为这会起作用。
我想这样做的真正原因是让 Hudson CI 启动一个连续测试脚本,该脚本作为屏幕会话启动,以便它可以在后台继续运行。我发现一旦在 Hudson 中完成任务,屏幕会话就会终止。
关于为什么我不能从祖父脚本启动持久屏幕会话的任何想法?或者关于如何处理这个问题的任何想法?
这是在 OSX 10.6 上,屏幕是从源代码构建的(所以我认为它应该和 linux 一样工作)。
【问题讨论】:
标签: macos bash scripting hudson gnu-screen