O script de inicialização do SSH falha com a opção -t

0

Eu estou querendo saber sobre a opção SSH -t .

Quando tento iniciar um servidor Tomcat assim:

ssh [email protected] -t '~/tomcat/bin/startup.sh'

então o Tomcat não será iniciado, mesmo que o script de inicialização esteja sendo executado. Sem a opção -t , funciona.

Pelo que entendi, isso ocorre porque, depois que o script de inicialização é concluído, a conexão é fechada e, portanto, todos os processos em segundo plano que foram iniciados pelo script deixam de existir.

Por que isso acontece? Não estou muito familiarizado com sessões de shell e tarefas / processos.

Existe alguma maneira de trazer o Tomcat com usando a opção -t ? (Infelizmente sou forçado a usá-lo por causa do Ansible).

    
por Philipp Murry 17.02.2017 / 13:08

1 resposta

0

Com o Ansible, você pode iniciar o serviço do tomcat sem chamar o script diretamente.

Ex: manipulador de serviço tomcat tem essa definição funções / tomcat / handler / main.yml

- name: restart tomcat
  service: name=tomcat state=restarted

A tarefa de início do serviço tomcat real em funções / 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

Se você deseja iniciar seu próprio script que inicia qualquer serviço arbitrário que não faça parte de nenhum sistema de monitoramento de serviço, o uso do programa supervisor ajuda a superar esse problema.

por favor consulte isto para mais informações sobre 'beneifit on not allocty tty to ssh' link

    
por 17.02.2017 / 15:10