ubuntu – 有没有办法检测nginx何时完成正常关闭?

编程之家收集整理的这篇文章主要介绍了ubuntu – 有没有办法检测nginx何时完成正常关闭?编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 ruby on rails应用程序,它运行在passenger和Nginx上,有一个主要的web服务器和多个应用程序服务器.我正在尝试更新我的部署过程,以最大限度地减少(或理想情况下,删除)部署导致的任何停机时间.现在的主要障碍是乘客需要一些时间来重新启动(即重新加载应用程序),所以为了解决这个问题,我想错开重启,以便一次只能重启一个应用服务器.

为了做到这一点而不丢失任何长时间运行的乘客流程,我想我需要优雅地关闭应用服务器的Nginx实例,这将导致它不再接受新连接但继续处理现有连接;同样,HAProxy将检测到应用服务器已关闭并将新请求路由到其他服务器.

但是,假设有一个长时间运行的进程,我不知道如何检测正常关闭何时完成,以便我可以重新启动它.由于关闭是由发送信号引起的(即kill -QUIT $(cat /var/run/Nginx.pid)),并且kill命令将立即返回,我无法组合命令(即kill …& & touch restarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.

有没有好办法呢?

这样的事情怎么样?
while [ -n "$(pgrep Nginx)" ]
do
  some-stuff  
done

因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1; /etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

总结

以上是编程之家为你收集整理的ubuntu – 有没有办法检测nginx何时完成正常关闭?全部内容,希望文章能够帮你解决ubuntu – 有没有办法检测nginx何时完成正常关闭?所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478

猜你在找的Ubuntu相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在设置-->系统--> 处理器--启用PAE支持我的就是这
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:https://www.cnblogs.com/masbay/p/10744900.html中的第2条。
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的朋友请注意命令里面的空格是必须的,否则运行会出错。 1.为root设置初始密码 (1)登录系统,打开终端
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用速度很慢,用"apt install xxx"安装软件时可能
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后,第一次启动ubuntu系统时,卡死在启动界面(或者黑屏),这大概都是由于
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,所以上网求助,结果被坑爹的百度经验<b>摆了一道,它让我更改/etc/passw
-- 作者 谢恩铭 转载请注明出处 内容简介 什么是ubuntu-make 安装最新版ubuntu-make 用ubuntu-make一键安装所需开发环境 在Github上为开源项目ubuntu-make做贡献 1. 什么是ubuntu-make 我之前的文章 【Linux探索之旅】第二部分第七课:软件安装,如虎添翼 中, 已经介绍了如何在Linux下安装软件。 相比于Windows,Linux下
今天,2017 年 4 月 13 日,Canonical 官方发布了 Ubuntu 17.04(Zesty Zapus)的最终版。自从去年十月发布 Ubuntu 16.10(Yakkety Yak)起,它已经开发了将近 6 个月。 -- Marius Nestor 今天,2017 年 4 月 13 日,Canonical 官方发布了 Ubuntu 17.04(Zesty Zapus)的最终版。自从
(点击上方公众号,可快速关注) 编译:伯乐在线/黄小非 如有好文章投稿,请点击 → 这里了解详情 Canonical 在几年前曾经抛弃了 GNOME,而是用其自己定制的 Unity 来实现 Ubuntu 用户界面。不过现在,Canonical 在 Ubuntu 18.04 发行版里又重新用回了 GNOME,而放弃了 Unity。 那么问题来了:为什么 Canonical 会放弃 Unity 呢?
这几天看到 Ubuntu 放弃 Unity 和 Mir 开发,转向 Gnome 作为默认桌面环境的新闻,作为一个 Linux 十几年的老兵和 Linux 桌面的开发者,内心颇感良多。 -- Manateelazycat 本文导航 -曾经的 Ubuntu 粉丝02% -我看这么多年 Ubuntu 的发展05% -最初的惊艳06% -酷炫的 Compiz 管理器07% -Gnome3 vs Unity