Mat*_*ing 5 python linux django apache2
我正在尝试从一个在apache2/WSGI Python中运行的Django应用程序中fork()和exec()一个新的python脚本进程.新的python进程被守护进程,因此它不与apache2保持任何关联,但我知道HTTP端口仍处于打开状态.新进程杀死apache2,但结果是新的python进程现在保持端口80和443打开,我不想要这个.
如何在新的python进程中关闭端口80和443?有没有办法获得对套接字句柄描述符的访问权限,以便它们可以被关闭?
Jam*_*dge 2
如果您使用subprocess模块来执行脚本,构造函数close_fds的参数Popen可能会执行您想要的操作:
subprocess
close_fds
Popen
如果close_fds为true,则在子进程执行之前,除了0、1和2之外的所有文件描述符都将被关闭。
假设它们不是简单地关闭,前三个文件描述符传统上是stdin、stdout和stderr,因此 Django 应用程序中的侦听套接字将在子进程中关闭的套接字中。
stdin
stdout
stderr
归档时间:
13 年,6 月 前
查看次数:
234 次
最近记录: