![无法终止自发无限循环 PHP Apache 进程](https://linux22.com/image/716104/%E6%97%A0%E6%B3%95%E7%BB%88%E6%AD%A2%E8%87%AA%E5%8F%91%E6%97%A0%E9%99%90%E5%BE%AA%E7%8E%AF%20PHP%20Apache%20%E8%BF%9B%E7%A8%8B.png)
我错误地启动了一个 PHP 文件,该文件调用自身并创建了无限循环。
现在我正在尝试清除这些进程,并且我已完成以下操作:
- 尝试使用 终止进程
kill pid
,但越来越多的进程无限期地创建 - 重新启动 Apache,这会终止主进程和所有子进程,但是一旦我启动 Apache,它们就会全部恢复
- 重新安装 Apache
我不知道下一步该做什么。
有什么建议么?
更新:这是导致脚本一遍又一遍调用自身的代码部分
function run_background_process($url, $params) {
// do a normal cURL POST
$cmd = 'curl -X POST ';
// append the URL to the script
$cmd .= $url;
// add any variables that needs to be passed to the target script
$cmd .= ' -d "' . $params . '"';
// run it in the background so it does not affect page load
$cmd .= " > /dev/null 2>&1 &";
// execute
exec($cmd, $output, $exit);
return $exit == 0;
}
因此,脚本使用 cuRL 调用自身(run_background_process(site_url)
在脚本中较早调用)
答案1
重命名 PHP 文件。这样它将无法调用自身。