我有很多bash文件需要在独立的终端中执行。需要注意的是,运行带有2个内核的bash文件需要1个小时。我想编写一个python代码,一次打开一系列终端并自动提交bash文件。我想过FOR循环和子流程库,但我无法得到我想要的东西。
你能帮帮我吗?
先谢谢你了!
P / s:我使用的是Ubuntu 16.04,Python 2.7。
答案 0 :(得分:0)
你可以使用screen / tmux来做这类事情。 tmux的示例:
tmux new-session 'script1 param1' \; split-window 'script2 param2'
Tmux将在分割窗口中打开两个终端,并同时运行您的脚本。如果您需要运行更多脚本,只需添加另一个\; split-window 'script param'
。
如果您需要从启动脚本或cron运行它,您可以分离运行它:
tmux new-session -s my-session 'script1 param1' \; split-window 'script2 param2' \; detach-client
如果你想看看分离的tmux中发生了什么,你可以再次附加它:
tmux att -t my-session
此外,您可以将所有命令放到分离的配置文件中并运行它。例如,创建文件tmux-run-my-scripts.conf
new-session -s my-session 'script1 param1'
split-window 'script2 param2'
detach-client
运行它:
tmux source-file /path/to/tmux-run-my-scripts.conf