Arnold Roa Asked: 2017-12-09 18:00:55 +0800 CST2017-12-09 18:00:55 +0800 CST 2017-12-09 18:00:55 +0800 CST 是否可以在不连接的情况下将输入发送到 tmux 会话? 772 是否有任何命令可用于将输入或命令发送到给定的 tmux 会话/窗格而无需连接到它? 这是无人值守的访问, 我有一个在 tmux 会话上运行的控制台应用程序。我想在部署(使用 capistrano)完成后重新启动它。 可能吗? 基本上我想发送: exit cd .. cd app rails console tmux input 1 个回答 Voted Best Answer igal 2017-12-09T18:15:17+08:002017-12-09T18:15:17+08:00 这个问题在ServerFault上有一个解决方案: 在分离的 tmux 会话中运行命令 它使用send-keys命令,该命令记录在手册页中: 通用命令:TMUX(1) 下面是一个“Hello World”示例,说明该send-keys命令的使用。 步骤 1. 创建一个分离的会话: user@host:~$ tmux new -d -s mySession 第 2 步:在分离的会话中执行命令: user@host:$ tmux send-keys -t mySession.0 "echo 'Hello World'" ENTER 第 3 步:附加到会话: user@host:$ tmux a -t mySession 您应该会在 Tmux 终端窗口中看到以下文本: user@host:$ echo 'Hello World' Hello World user@host:$ 这表明该echo命令已成功发送并在 tmux 会话中执行。 将此技术改编为您的命令可能如下所示: user@host:~$ tmux send-keys -t mySession.0 exit ENTER user@host:~$ tmux send-keys -t mySession.0 "cd .." ENTER user@host:~$ tmux send-keys -t mySession.0 "cd app" ENTER user@host:~$ tmux send-keys -t mySession.0 "rails console" ENTER
这个问题在ServerFault上有一个解决方案:
它使用
send-keys
命令,该命令记录在手册页中:下面是一个“Hello World”示例,说明该
send-keys
命令的使用。步骤 1. 创建一个分离的会话:
第 2 步:在分离的会话中执行命令:
第 3 步:附加到会话:
您应该会在 Tmux 终端窗口中看到以下文本:
这表明该
echo
命令已成功发送并在 tmux 会话中执行。将此技术改编为您的命令可能如下所示: