经过几天和大量的谷歌搜索,我终于解决了我的一个问题。我正在使用 Railsless-deploy(没有 rails 任务/好东西的 capistrano),所以我可以部署一个不在 rails 中的项目。
为了启动/停止/重新启动服务器,我已经创建了一个在 ssh 中可以正常工作的 init.d 服务,但我必须使用 nohup 才能使其工作:
namespace :deploy do
task :start, roles: :app, except: { no_release: true } do
sudo "nohup service app start"
end
desc "Stops the app"
task :stop do
sudo "nohup service app stop"
end
desc "Restarts the app"
task :restart do
sudo "nohup service app restart"
end
end
我有一个快速的 2 个问题,我是否必须在命令链接后添加一个 & 符号:sudo "nohup service app restart &"
. 我现在没有使用它,它似乎工作正常。还有一种方法可以取回实际输出,以便我知道可以启动服务或其他任何东西?截至目前,它给出了一般警告:
** [out :: 0.0.0.0] nohup:
** [out :: 0.0.0.0] ignoring input and appending output to `nohup.out'
我想真正看到当我通过 ssh 登录时运行命令时得到的实际输出。