Python创建子进程(新手)

2024-04-20 13:10:20 发布

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

我是python的新手,下面是我想要完成的。 我想用python来管理我的一些游戏服务器并启动/停止它们。为此,我想在自己的进程中运行每个游戏服务器。 使用python创建进程的最佳方法是什么,这样即使主应用程序停止,这些进程也可以继续?你知道吗

要启动服务器,我只需要执行shell代码。你知道吗

在停止主应用程序并重新启动这些进程之后,如何获得访问权限?你知道吗


Tags: 方法代码服务器应用程序游戏权限进程shell
2条回答

检查subprocess模块。有一个函数叫做call。见here。 您可能需要将进程设置为非守护进程。你知道吗

我不确定我是否完全理解这个问题,但也许是这样的?你知道吗

运行进程:

import subprocess 

subprocess.Popen(['/path/gameserver']) #keeps running

在另一个脚本中,您可以使用“ps-A”查找pid并终止(或重新启动)它:

import subprocess, signal 

p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE) 
out, err = p.communicate()

for line in out.splitlines(): 
    if 'gameserver' in line: 
        pid = int(line.split(None, 1)[0]) 
        os.kill(pid, signal.SIGKILL)

相关问题 更多 >