在服务器上的不同终端上运行命令

在服务器上的不同终端上运行命令

我有一份大约 50 条命令的列表,每个命令

  • 激活 Python 环境
  • 设置环境变量(限制python脚本可以使用的线程数)
  • 并运行一个python脚本(使用nohup),将输出重定向到日志文件

我想在不同的终端中运行这 50 条命令,因为我为每个命令设置了一个环境变量。此外,我在一台我认为没有 gnome-terminal 或其他终端仿真器的服务器上运行它们。

我该怎么做?我会接受一个不需要使用不同终端的解决方案。

答案1

如果你想要使用不同终端的唯一原因是“我正在使用每个命令设置一个环境变量“那么我认为您只需为特定命令设置变量,然后使用以下命令运行该命令(在此示例中在后台):

variable=unique  command  ...  &

或者,如果你坚持要同时运行多个不同的“终端”,你可以使用tmux

tmux 是一个终端多路复用器:它支持从单个屏幕创建、访问和控制多个终端。

它有很多选择,在网络上搜索tmux guide有超过 20 万个结果,但基本功能man tmux似乎是

EXAMPLES
 To create a new tmux session running vi(1):

       $ tmux new-session vi

 Most commands have a shorter form, known as an alias.  For new-session, this
 is new:

       $ tmux new vi

 Alternatively, the shortest unambiguous form of a command is accepted.  If
 there are several options, they are listed:

       $ tmux n
       ambiguous command: n, could be: new-session, new-window, next-window

 Within an active session, a new window may be created by typing ‘C-b c’ (Ctrl
 followed by the ‘b’ key followed by the ‘c’ key).

 Windows may be navigated with: ‘C-b 0’ (to select window 0), ‘C-b 1’ (to
 select window 1), and so on; ‘C-b n’ to select the next window; and ‘C-b p’
 to select the previous window.

 A session may be detached using ‘C-b d’ (or by an external event such as
 ssh(1) disconnection) and reattached with:

       $ tmux attach-session

在此处输入图片描述图片来源tmux 快速入门指南

相关内容