如何从服务在远程主机上运行命令?

如何从服务在远程主机上运行命令?

我在“/etc/init.d”中有一个服务。在该服务中,我以用户身份使用 ssh 在远程计算机上运行命令。目前我通过以下方式执行此操作:

sudo -u user bash -c "ssh [email protected] 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"

这是该服务的启动命令,服务名称是catalog。

当我这样做时,sudo service catatlog start命令成功运行,即它[email protected]以用户身份正确 SSH 到目标计算机,user但它不启动服务。

谁能告诉我如何调整它以使其成功运行?

答案1

所以我使用nohup命令修复了它:

sudo -iu user ssh [email protected] "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"

相关内容