Python进程控制?

2024-09-27 22:30:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于UNIX下正确的进程控制的问题。 我有FreeBSD8.0服务器和python应用程序。我需要启动我的python应用程序进程3次(客户端.py脚本)。如果要用cron启动第4个进程,他必须这样做系统出口(). 在

你能给我一个正确的方法来控制我的流程吗? ps-auxww或具有线程数的pid文件。也许在Python库中存在一个现成的解决方案?在

谢谢!在


Tags: 方法py服务器脚本应用程序客户端进程系统
2条回答

虽然这并不能回答您关于cron的问题,因此它不能解决您的问题,但是我认为处理您的流程的正确方法应该是使用子流程,或者使用python's multiprocessing module,或者使用{a2}实现(当然,您可以使用线程,但是它们不会利用多个线程)内核和CPU在某些平台下,所以它们可能对您不感兴趣)。在

我知道这不符合你对具体问题的描述,但你可以把它记在心里,并据此设计你未来的计划。在

在FreeBSD中,ps在其输出中显示命令行。所以对于Python脚本,这是解释器的名称后跟脚本的名称。两者都可以是完整路径,也可以只是程序名。在

你可以这样做:

import subprocess
import sys

scriptname  = 'foo'
procs = subprocess.check_output(['ps', '-xa']).splitlines()
count = len([l for l in procs if 'python' in l and scriptname in l])
if count > 3:
    sys.exit()

相关问题 更多 >

    热门问题