gpt4 book ai didi

python - 如何创建/调用/关闭独立的python进程

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:22 25 4
gpt4 key购买 nike

我是 Python 新手 - 下面列出了一些可能是微不足道的问题。我在 Slackware Linux 上使用 Python 3.4.3 工作。

我需要启动一个Python程序A,它会一直存在,这样人们就可以通过UNIX shell或网络浏览器定期调用它,并将其输出定向到它们中的任何一个。我同时提出了下面几个问题,因为在我看来它们都与这个项目相关(该项目有时也可以在 OS-X 上运行,甚至可能在 Windows 上运行)。

1) 我如何 fork /生成这个 python 进程 A,使其独立于 shell(python 或终端)并保留在 RAM 内存中以遵循命令,直到被告知关闭自身?通过使用 subprocess.Popen 来创建新进程 B ?通过运行守护进程?

2)我如何通过PID找到这个python进程A(或B)?通过使用 psutils 和 PID 锁或日志文件?

3) 如何从 Python shell、UNIX shell 或网络浏览器调用此进程 A(或 B)?通过使用socket.socket和PID?

4) 我如何将此进程 A(或 B)的输出定向到 shell 或网络浏览器?写入文件看起来很简单。后者的 MVC - 或者我们可以像 KISS 那样保持简单吗?

提前非常感谢,再见,pisti

最佳答案

您的问题已经包含答案:创建一个监听命令的守护进程,您可以使用套接字访问它。

在许多情况下,您的服务不需要对自身进行守护进程(使用 python-daemon package ),而是由您用于部署的管理程序进行守护进程(例如 supervisordcircus )。

有诸如 Eve 之类的框架这使得在 Python 中创建可通过 Web 访问的 api 变得非常容易(您可以使用 curl 从 shell 中使用它)。

关于python - 如何创建/调用/关闭独立的python进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29499662/

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