我在“/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 &)'"