Ctrl-C в tmux закрывает панель окна, но не выходит из хвоста -F

У меня есть следующий скрипт для запуска и настройки tmux на основе моей среды разработки:

#!/bin/bash

ENV="Test"
TMUX_SESSION="${ENV}LogMonSes"
TMUX_WINDOW="${ENV}LogMonWin"

tmux new-session -d -n "$TMUX_WINDOW" -s "$TMUX_SESSION" "ssh server1 tail -F /var/log/tomcat/application.log"
tmux split-window -v "ssh server2 sudo tail -F /var/log/postgresql/postgresql.log"
tmux attach-session -d -t "$TMUX_SESSION"

Когда я хочу выйти из tmux, я нажимаю Control-C, чтобы убить хвост. Похоже, что это закрывает панель, но не убивает хвостовой процесс. Если я снова войду на сервер, я увижу кучу хвостовых процессов, которые не были убиты, и мне придется делать это вручную. Любые идеи о том, как позволить Control-C убить хвостовые процессы?


person Jesse Vogt    schedule 28.02.2013    source источник


Ответы (1)


«Проблема» связана с ssh, а не с tmux.

См. Почему мой удаленный процесс все еще работает. после закрытия сеанса ssh?

Добавил -t в ssh и теперь все отлично работает:

tmux new-session -d -n "$TMUX_WINDOW" -s "$TMUX_SESSION" "ssh -t server1 tail -F /var/log/tomcat/application.log"
tmux split-window -v "ssh -t server2 sudo tail -F /var/log/postgresql/postgresql.log"
tmux attach-session -d -t "$TMUX_SESSION"
person Jesse Vogt    schedule 28.02.2013