php - 如何使用 php 中的 pid 终止 linux 进程?

标签 php linux apache amazon-ec2

我面临一个关于从我的 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/

相关文章:

php - 如何使用 foreach 从 PHP 中的关联数组输出特定数据

PHP返回1x1透明GIF,这个数据是如何编码的?

linux - 创建 .tar.gz 文件时的目录包括主文件夹和公共(public) html 文件夹

linux - 设置 Apache 用户的 umask

php - Eloquent 地处理多个表数据和关系

javascript - 如何防止JavaScript字符串中的XSS

python - Python系统的基准测试系统性能

linux - 为什么软件中断将进程的中断线设置为高电压

apache - apache2 中的密码文件是什么?

php - 为什么调用 ob_flush() 会大大降低我的延迟?