检测父进程何时退出

2023-12-27

我将有一个用于处理网络服务器重新启动的父进程。它将向子级发出信号以停止侦听新请求,子级将向父级发出信号以表明其已停止侦听,然后父级将向新子级发出信号以表明其可以开始侦听。通过这种方式,我们可以实现该级别重新启动的停机时间少于 100 毫秒(我也有零停机孙子重新启动,但这并不总是足以重新启动)。

当需要关闭时,服务管理器将杀死父进程。孩子如何检测到父母已经结束了?

使用子进程的 stdin 和 stdout 发送信号。也许我可以检测到标准输入流的结尾?我希望避免轮询间隔。另外,如果可能的话,我希望这是一个非常快速的检测。


一个更简单的解决方案可能是在子进程中注册“断开连接”

process.on('disconnect', function() {
  console.log('parent exited')
  process.exit();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测父进程何时退出 的相关文章

随机推荐

  • OpenAL - 确定最大来源

    是否有 API 允许您定义底层声音硬件允许的 OpenAL 源 最大数量 在互联网上搜索 我发现了 2 个建议 继续生成 OpenAL 源 直到出现错误 然而 FreeSL OpenAL 包装器 中有一条注释指出 这 非常糟糕 甚至可能使库
  • Keycloak 在登录过程中添加动态用户会话注释

    我是 Keycloak 的新手 并尝试自定义登录阶段以添加动态参数作为用户会话注释 在旧系统中 用户使用用户名 密码和附加参数登录 让我们称之为动态参数 该动态参数在每个用户登录中可以不同 并且取决于用户 当用户向服务发送请求时 它用于安全
  • 支持 v7 库中的 ShareActionProvider 不起作用

    我正在尝试使用本教程中的支持库来实现 ShareActionProviderhttp developer android com reference android support v7 widget ShareActionProvider
  • ListView 中的居中文本项

    如何水平居中对齐文本项ListView in my Layout 老实说 在问这样一个基本问题之前 我在谷歌上搜索了至少一个小时 Thanks
  • 如何在SQL Server上模拟DEADLOCK?

    我正在尝试模拟 SQL Server 上的死锁 worker id salary 1 1 100 2 2 300 事务 1 在 5 秒内完成 TRANSACTION 1 Use dbmcw DECLARE sal1 INT sal2 int
  • 检索 JPA 中通用实体的主键列定义

    假设我有一个使用 JPA 列出实体的通用方法 public
  • Mvapich2 缓冲区别名

    我使用 MAPICH2 启动 MPI 程序并收到此错误 Fatal error in PMPI Gather Invalid buffer pointer error stack PMPI Gather 923 MPI Gather fai
  • “远程计算机是 AAD”但“登录尝试失败”

    我设置远程桌面连接 计算机显示 AzureAD username已经拥有访问权限 非常好 让我们尝试使用连接AzureAD username 不幸的是它说 您的凭据无效 远程计算机已加入 AAD 如果你是 登录您的工作帐户 尝试使用您的工作
  • 如何在谷歌图表上绘制直方图的垂直线?

    如果我画折线图没有问题 但我想把它放在直方图上 https developers google com chart interactive docs gallery histogram https developers google com
  • 如何使用 XSLT 转换来转换 Soap 对象数据

    我必须使用 XSLT 转换来转换以下结果
  • 谷歌地图部分出现,灰色区域代替谷歌服务器的图像

    有时 谷歌地图的部分区域会显示为灰色 有一个问题 如果我们启动 Firebug 图像确实会出现在那个灰色区域 不知道为什么会发生这种情况 有谁经历过这个并找到解决方案 请分享 更新 27 02 2020 不再需要手动触发调整大小事件 如果您
  • ui-router 可选参数不带尾部斜杠

    所以这似乎是一个常见问题 但我还没有找到任何明确的答案 基本上我有一个状态 state users url example id templateUrl angular views example html controller Examp
  • 异步加载js但同步执行

    场景是我有很多 js 文件 根据不同的平台调用不同的文件 所以我有一个问题 因为我想异步加载文件 但这些文件的执行应该同步完成 目前我正在执行这个函数调用 function loadScriptJs src Console log Call
  • 如何在 Mac 上卸载 Composer?

    我已经安装了Composer https getcomposer org用这个命令 php r copy https getcomposer org installer composer setup php php r if hash fi
  • Android 2.1:单个 Activity 中的多个处理程序

    我有不止一个Handlers在活动中 我在中创建所有处理程序onCreate 的主要活动 我的理解是handleMessage 每个处理程序的方法永远不会同时被调用 因为所有消息都放在同一个队列 Activity 线程 MessageQue
  • Azure 持久功能和数据保留

    我可以看到 azure 持久函数使用存储帐户来管理状态和检测 当在具有大量数据的环境中运行持久函数时 表和队列会变得越来越大 并且速度会越来越慢 持久功能清洁是否会自行记录它们 或者这是您需要自己完成的任务吗 经过研究后 开发人员似乎需要为
  • Mongoid分页

    I tried posts Post page params page per page 10 and posts Post paginate page gt 1 per page gt 10 但这两种方法都行不通 undefined me
  • 如何在模板助手中使用 Meteor 方法

    如何定义一个可以在模板助手中调用的 Meteor 方法 我有这两个文件 文件 lib test js Meteor methods viewTest function str return str 文件 客户端 myView js Temp
  • 未找到代理 JAR 或没有代理类属性

    已修复 这不是代码导致的错误 这是因为 IDE 我只是尝试为一款名为 Minecraft 的游戏进行注入 但我有一个问题 无法加载代理 这是例外情况 Exception in thread main com sun tools attach
  • 检测父进程何时退出

    我将有一个用于处理网络服务器重新启动的父进程 它将向子级发出信号以停止侦听新请求 子级将向父级发出信号以表明其已停止侦听 然后父级将向新子级发出信号以表明其可以开始侦听 通过这种方式 我们可以实现该级别重新启动的停机时间少于 100 毫秒