Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python创建子流程(新手)_Python_Python 2.7_Subprocess - Fatal编程技术网

python创建子流程(新手)

python创建子流程(新手),python,python-2.7,subprocess,Python,Python 2.7,Subprocess,我是python新手,下面是我希望完成的工作。 我想使用python来管理我的一些游戏服务器并启动/停止它们。为此,我希望在自己的进程中运行每个gameserver。 使用python创建进程的最佳方法是什么,这样即使主应用程序停止,这些进程也可以继续 要启动服务器,我只需要执行shell代码 停止主应用程序并重新启动这些进程后,我如何获得访问权限?检查子进程模块。有一个函数名为call。看见 您可能需要将进程设置为非守护进程。我不确定是否完全理解了这个问题,但可能是这样的 运行进程: impo

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

要启动服务器,我只需要执行shell代码


停止主应用程序并重新启动这些进程后,我如何获得访问权限?

检查
子进程模块。有一个函数名为
call
。看见
您可能需要将进程设置为非守护进程。

我不确定是否完全理解了这个问题,但可能是这样的

运行进程:

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)