У меня есть образ Docker, который необходимо запустить в среде, где у меня нет прав администратора, используя Slurm 17.11.8 в RHEL. Я использую Udocker для запуска контейнера.
В этом контейнере нужно запустить два приложения:
[1] Симуляция ROS (существует узел, с которым TCP-клиент разговаривает [2])
[2] Исполняемый файл (TCP-сервер)
Так что [1] и [2] должны работать вместе, и они также делятся некоторыми общими файлами. Обычно я запускаю их в отдельных терминалах. Но я понятия не имею, как это сделать с SLURM.
Возможное решение:
(A) Используйте два контейнера одного изображения, но их файлы будут храниться локально. Можно использовать тома вместо. Но это требует от меня значительного изменения кода и, возможно, нарушения совместимости, когда я не запускаю его как контейнеры (например, в Eclipse).
(B) Используйте bash-скрипт для запуска двух терминалов и запуска [1] и [2]. Затем запустите этот скрипт.
Я смотрю на (B), но не знаю, как к нему приблизиться. Я рассмотрел другие подходы, но они касаются последовательного выполнения нескольких процессов. Мне нужно, чтобы они были параллельными.
Если это поможет, я использую xfce-терминал, хотя я могу переключаться на другие терминалы, такие как Gnome, Konsole.