如何停止由创建的进程子流程运行()方法

2024-04-23 23:32:50 发布

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

这是我的代码,我想在包含“error”或“completed”的stdout内容之后手动停止子进程。如何停止由子流程运行()方法。你知道吗

软件LATO是由其他人创建的,它永远不会退出。你知道吗

我看到了关于使用os.kill终止子进程的答案,但是我无法获得子进程pid,因为我使用了run,这是pydoc推荐的。你知道吗

顺便问一下,为什么子流程模块没有管理子流程的方法…
有好心人能告诉我吗?你知道吗

def lato_convert(filename):
    ''' Use lato convert bin data to csv data. '''
    try:
        subprocess.run([LATO,
                        '-sourceDirectory={}'.format(UPD_DIRECTORY),
                        '-outputDirectory={}'.format(DATA_DIRECTORY),
                        '-logFile={}'.format(LOG_DIRECTORY +'lato.log')]
                       ,check=True).check_returncode()
    except Exception as e:
        mylogger.get_my_logger(os.path.basename(__file__), LOG_FILENAME).error('lato convert error: {}'.format(e))

Tags: 方法run代码logformatconvertdata进程