当前位置: 首页 > 知识库问答 >
问题:

pythonshell子进程而不等待?

越信鸥
2023-03-14

我希望能够在后台启动一大批工作,而不使用bash脚本,并继续在同一个内核上工作。这有可能吗?我对架构变化持开放态度,但我的库的最终用户可能不是很复杂。

[1] create_batch = my_batch.create(**batch_input)

[2] run_batch = start_async_process(
        # real python... not bash
        sleep(9999)
        #my_batch.execute_jobs()
    )

[3] print("i can still to do stuff while that runs!")

[4] my_batch.get_status()
  • []表示ipython单元
  • python 3.7。6从JupyterLab内部

共有1个答案

丁晋
2023-03-14

您可以为每个作业创建一个线程并启动它们吗?您将需要创建一个数据结构来保存所有内容,但同样,您可能只需要使用一些基本的线程就可以做到这一点。

 类似资料:
  • 如果你想等待 process::Child 完成,就必须调用 Child::wait,这会返回一个 process::ExitStatus。 use std::process::Command; fn main() { let mut child = Command::new("sleep").arg("5").spawn().unwrap(); let _result = chi

  • 我在blender中有一个python脚本 我试着用通勤,但还是没用: 此shell脚本在MacOS上非常有效(在更改路径后),并且在使用时会等待 但是在Windows上,我在Blender中运行下面的python脚本,然后一旦它到达子进程行就会打开并运行shell脚本,而Blender不等待它完成,它只在控制台中打印而不等待Git Bash完成。有人帮忙吗?

  • 问题内容: 我正在Windows 8 / XP上使用Python 2.7。 我有一个程序A,它使用以下代码运行另一个程序B: B运行批处理脚本C。C是运行时间较长的脚本,即使C尚未完成,我也希望B退出。我已经使用以下代码(在B中)完成了此操作: 当我运行B时,它可以按预期工作。但是,当我运行A时,我希望它在B退出时退出。但是,即使B已经退出,A也会等到C退出。关于正在发生的事情以及可能的解决方案的

  • 我正在编写一个运行许多子进程的脚本。脚本应该能够运行它们所有的内容,然后在一个循环中检查如果它们已经完成。 不是开始一个,等它完成,然后开始下一个。 但是像这样,脚本等待完成。 我如何运行多个子进程,而不是等待它们完成,而是检查它们是否完成(例如,通过检查返回代码)?

  • 问题内容: 对于子进程,和函数可用于暂停当前进程的执行,直到子进程退出。但是此功能不能用于非子进程。 是否有另一个函数可以等待任何进程的退出? 问题答案: 什么都不等于。通常的做法是使用轮询,寻找返回值-1和的,表明进程已经一去不复返了。

  • 问题内容: 我正在编写一个Python程序,用于在Linux服务器上运行用户上传的任意代码(因此,在最坏的情况下,就是不安全,错误和崩溃的代码)。除了安全性问题外,我的目标是确定代码(可能以任何语言编写,编译或解释的)是否将正确的内容写入,以及是否将给定输入的其他文件写入程序的。之后,我需要向用户显示结果。 目前,我的解决办法是使用产卵子进程与文件句柄,和。后面的文件句柄包含了操作过程中的程序读取