【问题标题】:Stop NodeJS remotely远程停止 NodeJS
【发布时间】:2012-03-20 15:20:15
【问题描述】:

我正在开发一个 NodeJS 项目,其中 PHP 服务器将控制启动和停止 NodeJS 套接字服务器。服务器将通过 PHP 的远程调用启动,但是我不确定如何停止远程 NodeJS 服务器,因为我找到的所有答案都只是告诉我按 CTRL-C,在这种情况下这不是一个选项。有谁知道如何以整洁的方式引发结束事件?有没有可以正常处理的事件,或者我能做的最好的事情是抛出异常?

【问题讨论】:

  • 你试过proc_openproc_close吗?
  • 肯定喜欢答案,但我应该补充一点,NodeJS 服务器本身可能与 PHP 脚本不在同一台机器上,现在将这一点添加到问题中。

标签: php javascript sockets node.js


【解决方案1】:

你总是可以公开一个调用process.exit();的路由

Node API Docs: process.exit

【讨论】:

  • 接受这个,因为它允许我使用 Node 而不是任何特定于平台的方法来完成它!
【解决方案2】:

我会在 /etc/init.d 中为您的 nodejs 应用程序设置一个 kickstart 脚本,然后从命令行 [start|reset|stop]。如果它在远程机器上,您应该使用无密码 SSH 查看您的 php 应用程序以远程启动/停止。

【讨论】:

  • 您可能希望无密码登录到对任何数据没有写入权限的帐户,然后设置/etc/sudoers 以允许该帐户以root 身份运行/etc/init.d 脚本。这将允许停止命令为ssh user@host sudo /etc/init.d/script stop。这将防止级联安全故障。
猜你喜欢
  • 2012-04-01
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多