Выполнить команду в нескольких активных оболочках одновременно

Я использую среду tmux, и часто мне приходится запускать один и тот же сценарий python в 4 разных панелях (вверху 4 на изображении) с теми же аргументами командной строки. Есть ли способ, которым я могу выполнить скрипт на каждой оболочке, выполнив команду на одном?

Я знаю об этом обсуждении, но они предлагают использовать другую терминальную среду, я ищу что-то, что можно сделать с помощью сценариев tmux или shell.

Сеанс Tmux

Четыре разных оболочки – это сеансы ssh для 4 разных виртуальных машин.

3 Solutions collect form web for “Выполнить команду в нескольких активных оболочках одновременно”

Нет необходимости в каких-либо инструментах. tmux может справиться с этим:

просто откройте панели, ssh для отдельных серверов, а затем Ctrl- B, а затем

 :setw synchronize-panes 

и все входные данные синхронизируются со всеми видимыми панелями.
Повторно введите это или добавьте «off» в команду, чтобы выйти.

Да, возможно, с помощью инструмента ttyecho, который может эмулировать взаимодействие пользователя в разных терминалах.

Загрузить и установить:

 wget http://www.resulinux.tk/utils/ttyecho.c -O ttyecho.c gcc ttyecho.c -o /usr/bin/ttyecho 

Теперь позвольте выполнить что-то в другом терминале, например, как пользователь john, который является loggeg в pts / 17, используя xterm, как вы видите в команде ps:

 ps aux | grep john john 9198 0.0 0.0 23836 4524 pts/17 Ss Jul21 0:00 /bin/bash 

Теперь давайте попробуем открыть vi и набрать текст в другом терминале.

 ttyecho -n /dev/pts/17 vi (executed vi command on the other terminal) ttyecho /dev/pts/17 i (entered in insertion mode) ttyecho -n /dev/pts/17 some text 

Когда вы посмотрите на терминал, в который войдете john, вы увидите, что vi действительно выполнен, и вы можете увидеть текст, который мы набираем на нем «некоторый текст». Итак, теперь у вас есть полный контроль над другими терминальными сеансами.

Выполнение команд в нескольких сеансах ssh

Определите устройства ssh pts:

 ps aux | grep ssh root 3540 0.0 0.0 44924 5764 pts/1 S+ 14:46 0:00 ssh root@172.16.200.2 root 5907 0.0 0.0 44924 5684 pts/17 S+ 12:51 0:00 ssh root@172.16.200.1 root 8074 0.0 0.0 51216 3948 pts/6 S+ Jul26 0:01 ssh root@192.168.2.77 

Поэтому для выполнения команд на ssh, зарегистрированных в 192.168.2.77, мне просто нужно:

 ttyecho -n /dev/pts/6 ls 

И команда ls будет выполняться действительно удаленно в одном скрипте!

кластерс может представлять интерес.

введите описание изображения здесь

Также попробуйте dsh. https://www.linuxhelp.com/how-to-use-dsh-to-run-linux-commands-in-multiple-machines/

  • Формат запроса zsh в соответствии со значением переменной среды
  • Выполнять команды по отключению tmux
  • Как добавить горизонтальное разделение на окно tmux, которое охватывает всю ширину родительского окна?
  • могу ли я использовать ssh для отправки команды сборки для построения Android?
  • tmux: backspace и ctrl-backspace отправляют оба ^?
  • Могу ли я изменить цвет строки состояния tmux, когда я нажму Cb
  • «Заменить» оболочку по умолчанию (bash) с помощью tmux
  • tmux сеанс убит при отключении от ssh
  • Tmux отображение котировок / сообщений при запуске
  • Как я могу заставить tmux tell bash отобразить * логическую * версию текущего каталога в недавно открытых окнах?
  • Правильно удалите сокеты, случайно созданные с помощью tmux
  • Interesting Posts

    systemd застрял при установке зашифрованного тома

    Инструкции Samba работают на CentOS 6.5, но не CentOS 6.3 – разрешения в Windows разные

    Могу ли я использовать несколько соединений OpenVPN для ускорения передачи?

    Компиляция клиента OpenSSH или Dropbear для Android

    Используя expr, $ (()), (())

    Как применить снимок qcow2 для наложения необработанного образа диска?

    Как исправить файл автозаполнения вкладки имени файла Linux, который добавляет пробел вместо конечной косой черты в каталогах?

    Курсор заморожен во время установки

    Код возврата lftp

    Как размонтировать ранее chroot'd файловую систему?

    vim: заменить весь символ до конца строки

    Не удалось создать hotspot с помощью сетевого менеджера Gnome / Arch Linux

    Удаление пробелов из полей в файле с разделителями с запятой с использованием сценария оболочки

    Воспроизведение аудио CD 1: 1

    Печатать надлежащий файл журнала с сеанса терминала

    Linux и Unix - лучшая ОС в мире.