📜  在后台运行Python程序

📅  最后修改于: 2022-05-13 01:55:44.036000             🧑  作者: Mango

在后台运行Python程序

让我们看看如何在后台运行Python程序或项目,即程序将从设备开启的那一刻开始运行,并在关闭或关闭它时停止。只需运行一次以确保程序没有错误错误

一种方法是使用pythonw , pythonw 是Python+without terminal window 的串联,即在没有终端窗口的情况下运行Python 。您可以通过在终端上运行以下行来使用它:

这是 background.py 是文件:

在 Linux 和 mac 中,要在后台运行 py 文件,您只需在使用命令后添加 & 签名,它将告诉解释器在后台运行程序

它将在后台运行程序,同时您也可以使用终端。后台进程会有进程ID,如果你想你也可以通过使用来杀死进程,因为你不能只是通过 CTRL+C 杀死它,要杀死它,打开另一个终端会话并使用命令

kill 是killing process 的缩写,-9 表示立即杀死它,相应的状态会更新。为了获得您的输出,您可以使用

它将生成输出,即在文件中刷新输出,但它在缓冲存储器中更新,您必须等待程序终止才能将输出反映在硬盘文件中。要解决这个问题,您只需要告诉Python解释器不要使用缓冲内存步骤:

结束/杀死当前正在运行的文件

现在使用实用程序

它将直接将输出放在您选择的文件中。

如果在程序结束前关闭终端,终端执行的所有进程都将停止,出现挂起情况以解决问题,您需要使用如下所示的nohup命令 nohup 将确保进程运行到最后是否你关闭父终端。 nohup 代表不挂断

现在您不需要刷新任何文件中的输出,因为 nohup 实用程序在执行时会生成一个名为 nohup.out 的文件。它就像日志文件。 nohup 生成的输出填充的名称将反映。要终止此执行,您将需要ID过程,如果您记得或不记得没有问题,您需要搜索文件只需使用以下命令

grep 用于模式搜索,它将在终端上反映进程 ID,只需使用 kill -9 ID 将其杀死。现在该过程终止