我正在运行多个 Node 实例,它们都在不同的端口上运行。
我需要一种方法来根据运行的端口杀死特定的 Node 实例(杀死绑定(bind)到端口 n 的 Node 实例)。
从我的终端,我可以轻松地执行“fuser -k xxxx/tcp”xxxx 作为端口。
问题是,那是因为我有权这样做。我的问题是:我希望能够有一个 PHP 文件来关闭在端口 n 上运行的 Node 实例,并且任何人都可以打开它。如何在不造成巨大安全漏洞的情况下做到这一点?
谢谢!
最佳答案
您可以考虑向服务器添加一个端点,例如 /shutdown
,它将调用 process.exit()
;
结果是立竿见影的,比使用一堆 shell 命令、跟踪 pid 等更容易实现......
还可以通过密码、签名请求等轻松保护。
关于php - 使用 PHP (Apache) 启动 Linux 应用程序,并具有某些命令的 root 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15167396/