Jenkinsプラグインを介してSSH経由でサーバーに接続する必要があるという少しトリッキーな状況にあります。 -t
フラグを渡してpseudo-tty
セッションを取得するオプションがないため、screen
を使用できます。
ネストされたSSHセッションを確立する以外に、すでに接続されているこれを回避する方法はありますか?
画面を使って何かを表示したい場合は、端末が必要になります。
新しいセッションを開始するだけで表示したくない場合は、screen -m -d
を呼び出します。セッションは切り離されて開始されます。
既存のセッションとのみ対話する場合は、-X
オプションを使用してそのセッションにコマンドを送信します。これはセッションに接続せず、端末を必要としません。スクリーンセッションがデタッチモードで開始された場合、その初期ウィンドウはアクティブではないため、何かを行う前に、おそらく-p
でウィンドウを選択する必要があることに注意してください。
screen -d -m long-running-command
screen -p 1 -X stuff 'yes^M'
何をするにしても、再現可能なセッション名を使用し、常に-S
オプションを渡して、話しているセッションがわかるようにします。