SSHオプションについて知りたいです-t
。
次のようにTomcatサーバーを起動しようとすると:
ssh [email protected] -t '~/tomcat/bin/startup.sh'
それからTomcatはいいえ起動スクリプトが実行されていても起動できません。このオプションなしで-t
動作します。
私が理解したのは、起動スクリプトが完了すると接続が閉じられ、スクリプトによって開始されたバックグラウンドプロセスがもう存在しないためです。
なぜですか?私はシェルセッションや作業/プロセスに精通していません。
Tomcatを起動する方法はありますか?そしてこの-t
オプションを使用しますか? (残念ながらAnsibleのためにこれを使用する必要があります。)
ベストアンサー1
Ansibleを使用すると、スクリプトを直接呼び出さずにtomcatサービスを開始できます。
例: tomcat サービス・ハンドラーには、Roles/tomcat/handler/main.yml 定義があります。
- name: restart tomcat
service: name=tomcat state=restarted
実際のTomcatサービスの開始タスクはroles/tomcat/tasks/main.ymlにあります。
- name: Configure Tomcat users
template: src=tomcat-users.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat
- name: Start Tomcat
service: name=tomcat state=started enabled=yes
サービス監視システムの一部ではなくランダムなサービスを開始するために独自のスクリプトを実行したい場合は、supervisor
プログラムを使用してこの問題を克服するのに役立ちます。
SSHにttyを割り当てない場合の利点の詳細については、このトピックを参照してください。 https://serverfault.com/questions/593399/what-is-the-benefit-of-not-alaving-a-terminal-in-ssh