Препятствуйте тому, чтобы область/окно закрылась, когда команда завершится - tmux

Согласно просьбе OP.

При поиске времени когда система была установкой, нет способа определить это. Для одного, возможно, была клонирована система (не установленный), который будет эффективно фальсифицировать время создания файла.

Можно оценить возраст путем поиска самых старых файлов.

35
21.07.2011, 13:05
3 ответа

У Вас есть несколько опций.

  1. Вместо выполнения ls в Вашем окне, выполненном оболочка, затем отправляют нажатия клавиш оболочки для выполнения:

    tmux start-server  
    tmux new-session -d -s session  
    tmux new-window -t session:1  
    tmux send-keys -t session:1 ls C-m
    
  2. Можно накормить последовательность обедом команд таким способом как для отъезда себя с оболочкой удара после того, как Ваши другие команды работали:

    tmux start-server  
    tmux new-session -d
    tmux new-window 'ls;bash -i'
    
  3. См. ответ jasonwryan для получения дополнительной информации о remain-on-exit опция поддержать области после их процесса вышла так, можно рассмотреть вывод.

  4. Если бы вывод некоторой команды был достоин внимания однажды, то это могло бы стоить обновить. Если Вы контролируете вывод чего-то, что Вы можете watch периодически получать новый вывод. Это должно играть приятно с областями в tmux:

    tmux start-server  
    tmux new-session -d
    tmux new-window 'watch -n 60 ls'
    
24
27.01.2020, 19:36
  • 1
    Спасибо человек! Потрясающий ответ, номер 2 и номер 4 точно, на что я работал, но номер 1 походит на большую альтернативу также. Спасибо за всю справку это действительно ценило (вы оба). –  Stew 21.07.2011, 15:02
  • 2
    Преимущество № 1 состоит в том, что команда остается в истории оболочки и может быть легко повторно выполнена. Если команда была большой и ужасной, то это очень полезно. –  goertzenator 17.09.2013, 23:38
  • 3
    Это работает на меня без start-server команда, я думаю, что она запускается автоматически в случае необходимости. Существует ли преимущество вызова его явно, тем не менее? –  luator 13.11.2017, 16:30
  • 4
    @luator я думаю, автоматически запуская сервер, если ни один не найден, возможно, был добавлен к tmux так как я записал этот ответ. Я не знаю ни о каком преимуществе если Ваша икра версии серверный процесс при необходимости. –  Caleb 13.11.2017, 16:57

Вы могли использовать remain-on-exit опция:

останьтесь на выходе [на | прочь]
Окно с этим набором флага не уничтожается, когда программа, работающая в нем, выходит. Окно может быть повторно активировано с командой окна переикры.

Для упрощения перенерестящегося процесса Вы могли бы хотеть связать его с ключом:

bind-key R respawn-window

Это гарантирует, что Вас не оставляют с глухими окнами, когда программы выходят.

13
27.01.2020, 19:36
  • 1
    я добирался там! Я закончился время и решил, что должен буду отредактировать свой ответ. Да, это - третья опция, основной недостаток - то, что она оставляет окно только для чтения, которое Вы не можете снова использовать без воссоздания. положительная сторона –  Caleb 21.07.2011, 13:20
  • 2
    . Я обновил с (полу-) обходное решение. –  jasonwryan 21.07.2011, 13:28
  • 3
    это работает с областями? –  azmeuk 19.06.2017, 18:25

Вот расширенный пример с использованием метода send-keys, рекомендованного @Caleb

#!/bin/sh
tmux start-server
tmux new-session -d -n 'mywindowname'
tmux send-keys -t mywindowname 'cd notes' Enter 'vim whiteboard/tasks.md' Enter
tmux new-window -d -n 'secondwindowname' # this -d prevents focus from changing to the new window
tmux -2 attach-session -d
1
27.01.2020, 19:36

Теги

Похожие вопросы