gpt4 book ai didi

python - 在 Django 中 fork 后关闭 TCP 端口 80 和 443

转载 作者:IT王子 更新时间:2023-10-29 00:39:14 24 4
gpt4 key购买 nike

我正在尝试从在 apache2/WSGI Python 中运行的 Django 应用程序中 fork() 和 exec() 一个新的 python 脚本进程。新的 python 进程是守护进程,因此它与 apache2 没有任何关联,但我知道 HTTP 端口仍然打开。新进程终止了 apache2,但结果是新 python 进程现在保持端口 80 和 443 打开,我不希望这样。

如何从新的 python 进程中关闭端口 80 和 443?有没有办法获得对套接字句柄描述符的访问权限,以便关闭它们?

最佳答案

如果您使用 subprocess 模块来执行脚本,则 Popen 构造函数的 close_fds 参数可能会执行您想要的操作:

If close_fds is true, all file descriptors except 0, 1 and 2 will be closed before the child process is executed.

假设它们不是简单地关闭,前三个文件描述符传统上是 stdinstdoutstderr,因此监听套接字在Django 应用程序将在子进程中关闭。

关于python - 在 Django 中 fork 后关闭 TCP 端口 80 和 443,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com