我面临一个关于从我的 php 代码中终止 Linux 进程的问题。
我在后台使用 proc_open()
函数从我的 php 代码运行 Scrapy 工具。
它工作正常,但现在我想使用它的进程 ID 终止这个进程。
为此,我使用 exec("sudo kill -9 $pid");
其中 $pid
是我从我的 php 代码中获取的进程 ID。
问题是这个进程代表 apache 用户运行。我认为可能存在一些权限问题,所以我将 apache 用户添加到 sudoers 文件中,就像这样 apache ALL=(ALL) NOPASSWD:ALL
但我仍然无法杀死它。不知何故,相同的 kill 命令在我的 putty 控制台中起作用。
我的代码在 Amazon EC2 实例上。
我的问题是,如何从 php 中终止由 pid 标识的进程?
最佳答案
永远永远不要给 apache sudo
权限!
使用 exec("kill -9 $pid");
- 你的 apache 进程启动了它,它可以杀死它:)
关于php - 如何使用 php 中的 pid 终止 linux 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19239840/