【发布时间】:2013-10-14 21:53:12
【问题描述】:
我面临一个关于从我的 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 权限!!!
-
另外,如果
apache是进程的所有者,您是否尝试过简单的kill -9 $pid? -
谢谢@SudiptaChatterjee .. 简单地杀死 -9 $pid 工作.. 我在这上面浪费了这么多天.. 再次感谢!
-
简单地说,exec("kill -9 $pid");工作..
-
太棒了 - 请在下面将我的答案标记为正确:)
标签: php linux apache amazon-ec2