【发布时间】:2019-02-02 23:01:25
【问题描述】:
我有一个 Docker 映像,需要在我没有管理员权限的环境中运行,在 RHEL 中使用 Slurm 17.11.8。我正在使用 udocker 来运行容器。
在这个容器中,有两个应用需要运行:
[1] ROS 模拟(有一个 rosnode 是一个与 [2] 对话的 TCP 客户端)
[2] 一个可执行文件(TCP 服务器)
所以 [1] 和 [2] 需要一起运行,并且它们还共享一些公共文件。通常,我在单独的终端中运行它们。但我不知道如何用 SLURM 做到这一点。
可能的解决方案:
(A) 使用相同图像的两个容器,但它们的文件将存储在本地。可以改用卷。但这需要我显着更改我的代码,并且当我不将其作为容器运行时(例如在 Eclipse 中)可能会破坏兼容性。
(B) 使用 bash 脚本启动两个终端并运行 [1] 和 [2]。然后运行这个脚本。
我正在查看 (B),但不知道如何处理它。我研究了其他方法,但它们解决了多个进程的顺序执行问题。我需要这些是并发的。
如果有帮助,我正在使用 xfce-terminal,尽管我可以切换到其他终端,例如 Gnome、Konsole。
【问题讨论】: