2

開発環境に基づいて 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 を押してテールを終了します。これにより、ペインが閉じているように見えますが、テール プロセスは強制終了されません。サーバーに再度ログインすると、kill されていない一連のテール プロセスが表示され、手動で行う必要があります。Control-C で末尾のプロセスを強制終了させる方法についてのアイデアはありますか?

4

1 に答える 1

2

「問題」はsshにあります-tmuxではありません。

sshセッションを強制終了した後もリモートプロセスが実行されるのはなぜですか?を参照してください。

-tsshに追加され、すべてがうまく機能するようになりました。

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"
于 2013-02-28T17:43:18.543 に答える