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

非阻塞subprocess.call-重访[重复]

董奇思
2023-03-14

我发现这是超过2岁的线。我想问一个新问题这样我就能得到更多的关注

非阻塞子流程。呼叫

我的问题:

我和@DavidJB有着相同的情况,正如他在之前的帖子中所描述的

谢谢,这似乎可以工作,但是当我在slave.py中包括一个虽然循环时,它似乎卡住了,没有在循环中执行任何东西(即使有一个timer.sleep()函数...?-DavidJB Apr 17'13 at 23:59

有人对此有什么最新消息吗?

我希望具有while循环的子级(slave.py)保持运行,并且父级(main.py)不要等待子级结束。家长应该继续工作。

这就是我的主和孩子的样子。

主要的派克

...
proc = Popen('child.py', stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
out, err = proc.communicate()
...

主要是,我想摆脱child.py,在摆脱后去做其他事情

小孩派克

while True:
    file = open( '/mnt/flash/child.txt', 'aw' )
    file.write( datetime.now().strftime('%Y-%m-%d %H:%M:%S') + "\t\topened the file now!!\thi\n"  )
    time.sleep(5)
    ...
    <break>
file.close()

子进程一旦启动,将当前时间每5秒写入一个文件,除非某个事件使其脱离无限循环

共有1个答案

钮巴英
2023-03-14

如果你去执行其他python脚本,那么试试这个

main.py

 import subprocess

for insert, (list) in enumerate(list, start=1):

 l = [list]
  subprocess.call(["python", "slave.py", '%s' % l])
 类似资料:
  • 我有一个JMS队列,在那里我可以获得几种类型的消息。所有消息都是对象消息。我让Spring DMLC处理它们,并尝试将它们传递到外部endpoint。 每种消息类型都与不同的endpoint相关联。 如果消息必须传递到1个或多个endpoint,我认为阻塞使用者对我没有帮助。 我找不到任何非阻塞消费者的信息,我想知道它是否真的帮助我解决我的问题。

  • 非阻塞 IO 仅对在 Servlet 和 Filter(2.3.3.3节定义的,“异步处理”)中的异步请求处理和升级处理(2.3.3.5节定义的,“升级处理”)有效。否则,当调用 ServletInputStream.setReadListener 或ServletOutputStream.setWriteListener 方法时将抛出IllegalStateException。为了支持在 Ser

  • Web 容器中的非阻塞请求处理有助于提高对改善 Web 容器可扩展性不断增加的需求,增加 Web 容器可同时处理请求的连接数量。servlet 容器的非阻塞 IO 允许开发人员在数据可用时读取数据或在数据可写时写数据。非阻塞 IO 仅对在 Servlet 和 Filter(2.3.3.3节定义的,“异步处理”)中的异步请求处理和升级处理(2.3.3.5节定义的,“升级处理”)有效。否则,当调用 S

  • 我想用Tkinter创建一个非阻塞消息窗口。这是为了在另一个函数正在等待答复时显示等待消息。收到回复后,窗口可自动关闭。我设法在网上找到了一些信息,我做了以下工作: 当我将其作为主脚本执行时,这运行良好,但是当我在得到以下错误RuntimeError之后想要使用Tkinter运行另一个gui应用程序时:主线程不在主循环中 另外,当我在App.destroy()之后运行另一段代码时。然后应用程序窗口

  • 问题内容: 我在获取ncurses的getch()阻止时遇到了一些问题。默认操作似乎是非阻塞的(或者我错过了一些初始化)?我希望它可以像Windows中的getch()一样工作。我尝试了各种版本的 (并非同时全部)。如果可能的话,我宁愿不(明确地)使用any 。一个围绕残培环路(),检查特定的返回值是OK了。 问题答案: curses库是一揽子交易。如果不正确初始化库,您不能仅仅提出一个例程并希望

  • 问题内容: 有没有一种方法可以以非阻塞方式使用python的socket.accept()来简单地运行它,并让我检查它是否有任何新连接?我 真的 不想使用线程。谢谢。 问题答案: 您可能想要类似的东西(请参阅文档)。您提供了三个套接字列表:您要监视其可读性,可写性和错误状态的套接字。当新的客户端正在等待时,服务器套接字将是可读的。 该功能将一直阻塞,直到套接字状态之一改变为止。如果您不想永远阻塞,