Então eu consertei usando o comando nohup
:
sudo -iu user ssh [email protected] "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"
Eu tenho um serviço em '/etc/init.d'. Nesse serviço, eu executo um comando em uma máquina remota usando o ssh como usuário. Atualmente eu faço isso da seguinte maneira:
sudo -u user bash -c "ssh [email protected] 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"
Este é o comando de início desse serviço e o nome do serviço é catálogo.
Quando eu faço sudo service catatlog start
, o comando é executado com êxito, ou seja, corretamente SSH'es na máquina de destino, que é [email protected]
como o usuário user
, mas não inicia o serviço.
Alguém pode me dizer como ajustar isso para que ele seja executado com sucesso?
Então eu consertei usando o comando nohup
:
sudo -iu user ssh [email protected] "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"
Tags command-line ssh bash