如何并行产生五个子进程

耶洛波杰夫

我想并行运行五个生成命令。我将五个hls流网址传递给循环,这些streamlink命令应将视频记录5秒钟,然后终止这些进程。

我试图通过几种方式使其异步...但是我不知道如何为每个流分别等待5秒钟。

我正在Windows 10上运行它。

这是我尝试的最后一件事:

import { spawn } from "child_process";
import crypto from "crypto"

const hls_streams = [
    'https://stream1.url',
    'https://stream2.url',
    'https://stream3.url',
    'https://stream4.url',
    'https://stream5.url',
]

for (let i = 0; i < hls_streams.length; i++) {
    const filename = crypto.randomBytes(16).toString("hex");
    const child = spawn('streamlink', [`${urls[i]}`, "best", "-f", "-o", `/temp/${filename}.mp4`]);
    await new Promise(r => setTimeout(r, 5000));
    child.kill()
}

五个网址的正确执行应仅持续5秒钟...

Tevemadar

您可以使用一个循环来创建一个子数组,然后等待,然后使用另一个循环来结束它们。要基于已存在的数组创建数组,map()可能会更加方便:

import { spawn } from "child_process";
import crypto from "crypto";

const hls_streams = [
    'https://stream1.url',
    'https://stream2.url',
    'https://stream3.url',
    'https://stream4.url',
    'https://stream5.url',
];

let children = hls_streams.map(url => {
    const filename = crypto.randomBytes(16).toString("hex");
    const child = spawn('streamlink', [`${url}`, "best", "-f", "-o", `/temp/${filename}.mp4`]);
    return child;
});

await new Promise(r => setTimeout(r, 5000));

for(let child of children) {
    child.kill();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Electron中产生一个子进程

来自分类Dev

当另一个子进程完成时,如何终止子进程?

来自分类Dev

使用python multiprocessing子进程如何终止另一个子进程?

来自分类Dev

如何区分一个子进程与其他子进程

来自分类Dev

产生多个子进程

来自分类Dev

我如何等待除一个子进程之外的所有子进程完成

来自分类Dev

父进程有多个子进程,而两个子进程有一个子进程

来自分类Dev

如何使用fork创建并行子进程

来自分类Dev

如何将Apache配置为仅派生一个子进程/工人?

来自分类Dev

如何避免systemctl停止停止我的一个子进程?

来自分类Dev

如何在python中杀死一个子进程

来自分类Dev

如何在iOS Objective C中使用uigesture recoginzier滑动自定义五个子视图

来自分类Dev

我如何获得一个子进程来每5秒暂停一次外部程序的执行?

来自分类Dev

父进程,创建2个子进程并用管道发送数据

来自分类Dev

一个进程如何阻止另一个进程(该进程产生)?

来自分类Dev

如何运行2个子进程,但在C中先运行一个又一个?

来自分类Dev

在不离开孤儿的情况下从python / bash杀死一个子子进程

来自分类Dev

随后如何运行两个并行进程?

来自分类Dev

如何在2个子进程之间创建一个匿名管道并知道其pid(而不使用文件/命名管道)?

来自分类Dev

把一个函数变成一个子进程——STUCK

来自分类Dev

Python杀死一个子进程(启动另一个进程)并再次启动

来自分类Dev

使用子进程的stdout作为另一个进程的stdin时,有时数据不会传递给第二个子进程

来自分类Dev

如何杀死由kill或kill -9脚本开始的进程产生的所有子进程

来自分类Dev

在node.js中生成一个子进程,数据未定义

来自分类Dev

在node.js中生成一个子进程

来自分类Dev

创建2个子进程以使用管道对文件的单词进行排序

来自分类Dev

Python:等待第一个子进程完成

来自分类Dev

我创建了3个子进程,为什么它返回7?

来自分类Dev

为什么`login`和`sudo`派生一个子进程,而不是立即执行exec()?

Related 相关文章

  1. 1

    在Electron中产生一个子进程

  2. 2

    当另一个子进程完成时,如何终止子进程?

  3. 3

    使用python multiprocessing子进程如何终止另一个子进程?

  4. 4

    如何区分一个子进程与其他子进程

  5. 5

    产生多个子进程

  6. 6

    我如何等待除一个子进程之外的所有子进程完成

  7. 7

    父进程有多个子进程,而两个子进程有一个子进程

  8. 8

    如何使用fork创建并行子进程

  9. 9

    如何将Apache配置为仅派生一个子进程/工人?

  10. 10

    如何避免systemctl停止停止我的一个子进程?

  11. 11

    如何在python中杀死一个子进程

  12. 12

    如何在iOS Objective C中使用uigesture recoginzier滑动自定义五个子视图

  13. 13

    我如何获得一个子进程来每5秒暂停一次外部程序的执行?

  14. 14

    父进程,创建2个子进程并用管道发送数据

  15. 15

    一个进程如何阻止另一个进程(该进程产生)?

  16. 16

    如何运行2个子进程,但在C中先运行一个又一个?

  17. 17

    在不离开孤儿的情况下从python / bash杀死一个子子进程

  18. 18

    随后如何运行两个并行进程?

  19. 19

    如何在2个子进程之间创建一个匿名管道并知道其pid(而不使用文件/命名管道)?

  20. 20

    把一个函数变成一个子进程——STUCK

  21. 21

    Python杀死一个子进程(启动另一个进程)并再次启动

  22. 22

    使用子进程的stdout作为另一个进程的stdin时,有时数据不会传递给第二个子进程

  23. 23

    如何杀死由kill或kill -9脚本开始的进程产生的所有子进程

  24. 24

    在node.js中生成一个子进程,数据未定义

  25. 25

    在node.js中生成一个子进程

  26. 26

    创建2个子进程以使用管道对文件的单词进行排序

  27. 27

    Python:等待第一个子进程完成

  28. 28

    我创建了3个子进程,为什么它返回7?

  29. 29

    为什么`login`和`sudo`派生一个子进程,而不是立即执行exec()?

热门标签

归档