我在“/etc/init.d”中有一个服务。在该服务中,我使用 ssh 作为用户在远程计算机上运行命令。目前我按以下方式执行此操作:
sudo -u user bash -c "ssh [email protected] 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"
这是该服务的启动命令,服务名称为catalog。
当我执行该命令时,它成功运行,即它正确地通过 SSH以用户sudo service catatlog start
身份进入目标机器,但它没有启动服务。[email protected]
user
有人能告诉我如何调整它以使其成功运行吗?
答案1
所以我使用nohup
命令修复了它:
sudo -iu user ssh [email protected] "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"