Capistrano 部署后,终端会继续监听自定义任务。我们如何在不杀戮的情况下脱离?
Terminal keeps listening to custom task after Capistrano deploy. How we detach without killing?
我正在学习如何使用 Capistrano 进行部署,我发现了如何在部署后 运行 自定义任务。在这种情况下,我创建了 chat
任务,并在部署完成后 运行 它:
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app) do
execute 'sudo nginx -s reload'
end
end
task :chat do
on roles(:app) do
execute 'sudo kill $(sudo lsof -t -i:4543) ; cd /home/linux/myapp/current ; RAILS_ENV=production rackup private_pub.ru -o 0.0.0.0 -s thin -p 4543 -E production'
end
end
after :publishing, :restart
after "deploy", "deploy:chat"
end
这会在端口 4543 启动服务器,一切正常。除了这个 window 没有卡在那个过程中,如果我离开我会杀死它。
我该怎么做才能从服务器进程中分离 运行 该任务的控制台实例?!
情况是我在 Amazon EC2 中有一台机器,我建立了 ssh 连接来管理它。
为此我放弃了尝试使用 Capistrano。
好吧,我发现分离程序然后 return 到主终端的解决方案是 tmux
工具。我必须安装它,然后 运行 终端上的 tmux
命令,当 tmux 打开时 运行 我的命令,然后 CTRL+B
退出 tmux 层。任务保持运行ning.
我正在学习如何使用 Capistrano 进行部署,我发现了如何在部署后 运行 自定义任务。在这种情况下,我创建了 chat
任务,并在部署完成后 运行 它:
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app) do
execute 'sudo nginx -s reload'
end
end
task :chat do
on roles(:app) do
execute 'sudo kill $(sudo lsof -t -i:4543) ; cd /home/linux/myapp/current ; RAILS_ENV=production rackup private_pub.ru -o 0.0.0.0 -s thin -p 4543 -E production'
end
end
after :publishing, :restart
after "deploy", "deploy:chat"
end
这会在端口 4543 启动服务器,一切正常。除了这个 window 没有卡在那个过程中,如果我离开我会杀死它。
我该怎么做才能从服务器进程中分离 运行 该任务的控制台实例?!
情况是我在 Amazon EC2 中有一台机器,我建立了 ssh 连接来管理它。
为此我放弃了尝试使用 Capistrano。
好吧,我发现分离程序然后 return 到主终端的解决方案是 tmux
工具。我必须安装它,然后 运行 终端上的 tmux
命令,当 tmux 打开时 运行 我的命令,然后 CTRL+B
退出 tmux 层。任务保持运行ning.