Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 打开一系列终端并运行bash文件_Python_Bash_Terminal_Submit_Tmux - Fatal编程技术网

Python 打开一系列终端并运行bash文件

Python 打开一系列终端并运行bash文件,python,bash,terminal,submit,tmux,Python,Bash,Terminal,Submit,Tmux,我有很多bash文件需要在不同的终端中执行。需要注意的是,运行一个包含2个内核的bash文件需要1个小时。我想编写一个python代码,它将一次打开一系列终端并自动提交bash文件。我考虑过FOR循环和子进程库,但我无法得到我想要的 你能帮我做这个吗 提前谢谢你 附言:我正在使用Ubuntu 16.04和Python 2.7。你可以使用screen/tmux来实现这类功能。tmux示例: tmux new-session 'script1 param1' \; split-window 'scr

我有很多bash文件需要在不同的终端中执行。需要注意的是,运行一个包含2个内核的bash文件需要1个小时。我想编写一个python代码,它将一次打开一系列终端并自动提交bash文件。我考虑过FOR循环和子进程库,但我无法得到我想要的

你能帮我做这个吗

提前谢谢你


附言:我正在使用Ubuntu 16.04和Python 2.7。

你可以使用screen/tmux来实现这类功能。tmux示例:

tmux new-session 'script1 param1' \; split-window 'script2 param2'
Tmux将在拆分窗口中打开两个终端,并同时运行脚本。如果需要运行更多脚本,只需添加另一个
\;拆分窗口“脚本参数”

如果需要从启动脚本或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

您只是需要并行运行这些作业,还是真的需要每个作业都有一个实际的终端?这是一个多么好的解决方案!非常感谢。