我希望在网页上有一个按钮,我可以用来杀死所有正在运行的节点进程。我通过使用sudo killall节点在Mac OS终端上运行良好,但是当我尝试从网站创建一个按钮时,我收到错误“找不到属于你的匹配进程”。 我的代码是,
<?php
if (isset($_POST['button'])) { exec('/usr/bin/ sudo killall node'); } ?>
<form method="POST">
<p>
<input type="hidden" name="button" value="1">
<input type="submit" value="Stop">
</p>
</form>
我猜这是因为我需要输入sudo的密码才是为什么它不能在网页上运行。有没有办法绕过这个或另一个选择呢?感谢..
答案 0 :(得分:0)
运行php的用户可能没有使用sudo运行命令的权限(或者至少他不能输入密码)
如果你真的想让php有权运行这个命令你必须弄清楚哪个用户正在运行php(echo`whoami`;)
然后让他有权在不要求输入密码的情况下运行此命令,运行sudo visudo
来编辑sudo配置
在其中,在文件末尾添加以下行:
your_php_user ALL = (root) NOPASSWD: /usr/bin/killall node
注意:/usr/bin/
和sudo