在mac OS上的php中,在.exec()之后杀死一个节点进程
我在PHP页面上有以下代码,它为我执行一个节点命令。
<?php
if (isset($_POST['button'])) { exec('/usr/local/bin/node DroneNotes/Dronestream/server.js'); } ?>
<form method="POST">
<p>
<input type="hidden" name="button" value="1">
<input type="submit" value="Start Video">
</p>
</form>
该命令对我来说执行得很好,但是这个过程只是悬挂而不是停下来。 林不知道我可以通过创建另一个按钮点击或可以添加一些特定时间后结束它来以某种方式杀死进程?
我认为为每个客户端启动一个服务器并不是一个好主意......如果您在同一时间内有100个客户端,那么您将启动100次server.js? 你有没有想过使用不同的端口?
为了回应你的问题:你必须创建一个脚本shell,它启动你的服务器,并且可以在一段时间后将其杀死。
这里有一个很好的例子来说明你的工作Bash脚本在给定的超时后杀死子进程
查看此问题以在过程结束时退出Node.js;
如何在Node.js中退出
或者您可以使用“永久”手动启动和停止node.js服务器;
forever start DroneNotes/Dronestream/server.js
forever stop DroneNotes/Dronestream/server.js
链接地址: http://www.djcxy.com/p/52715.html
上一篇: Killing a node process after .exec() in php on mac OS
下一篇: NodeJS close previous server port before creating new server