如何在一个终端窗口中运行多个程序?

如何在一个终端窗口中运行多个程序?

我想编写一个运行多个程序/命令的脚本'程序1','程序2','程序3'...在一个窗口中的马赛克终端中使用gnome-terminal和也使用tmux(我的意思是我想知道这两种方式)。

这怎么可能 ?

我知道这个话题提到它,但这并不完全是我想要的。因为我不希望程序完成后关闭终端。

答案1

您可以通过执行命令并等待用户输入来保持终端打开:

tmux new-window 'make ; read'

如果你的 shell 不支持read内置的,你可以使用例如。sed -n q

答案2

将所有内容放入这样的脚本中:

#! /bin/bash
#
su -c '/usr/bin/tmux new-session -s "all" -d'
tmux send "path of Program 1" C-m
tmux rename-window "Program 1"

tmux new-window
tmux send "path of Program 2" C-m
tmux rename-window "Program 2"

tmux new-window
tmux send "path of Program 3" C-m
tmux rename-window "Program 3"

tmux attach

它将启动一个名为的新 tmux 会话全部有 3 个窗口称为方案1,方案2方案3每个人都执行每个程序。

即使程序停止,窗口也不会关闭。

相关内容