別々のtmuxセッション内で実行されている2つのプログラムを起動するスクリプトを実行したいと思います。私が今持っているスクリプトはほとんど次のとおりです。
!/bin/bash
tmux new -s test1 'mono --debug program1.exe'
tmux new -s test2 'python program2.py'
私が抱えている問題は、2つのプログラムがデバッグモードで実行されているため、tmuxセッションにアクティブに情報を出力していることです。プログラムを開始した後、tmuxセッションに何かを入力するための制御を取得できません。ただし、このCtrl + b d
メソッドを使用してセッションを手動で切り離すことができます。しかし、bashスクリプトでそれを行う方法がわかりません。
tmux detach
コマンドを見つけましたが、プログラムの起動後にセッションに入力する方法がわからず、デバッグ情報が出力されているため、そのコマンドを入力する方法がありません。
また-d
、セッションを切り離して開始するtmuxに使用できるフラグがあると言っている投稿を見つけました。私はtmux new -d test1 'mono --debug program1.exe'
そのようなことができると思っていましたが、うまくいかなかったようです。-d
国旗の構文に文句を言っているようです。
他のオプションに加えて、-d
各new
コマンドにフラグを追加するだけです。
#!/bin/bash
tmux new -d -s test1 'mono --debug program1.exe'
tmux new -d -s test2 'python program2.py'
これで2つのセッションがあり、そのうちの1つをtmux attach -s test1
またはでアタッチできることに注意してくださいtmux attach -s test2
。同じセッションの別々のウィンドウで各コマンドを実行する方が簡単な場合があります。
tmux new -d -s test1 'mono --debug program1.exe'
tmux new-window 'python program2.py'
tmux attach -t test1
に置き換えnew-window
てsplit-window
、同じウィンドウの別々のペインでコマンドを実行します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加