我是 Linux 技术和 bash 脚本的新手。
现在,我有一个简单的 bash 脚本,它使用mkvextract
.
我想知道:如果多个用户同时在同一个或不同的 mkv 文件上使用这个脚本(例如,通过 bash 命令),Linux 将如何对此做出反应?
它是自己创建一个“排序系统”还是并行处理每个命令?
通常,当您使用任何命令时,可以说(无需详细说明)您要求 Linux 内核(想想 OS)创建一个单独的进程来处理其工作。
现在进程被放入队列,然后所有进程都被授予访问 PC 资源的权限。这是由一些调度算法处理的。我能想到的最简单的就是 FIFO——先进先出——第一个问的是第一个获得资源的人。您在短时间内提供资源,然后将其放回队列中。
至于并行处理:这取决于。通常 Linux 使用多个内核,您可以说有些任务是并行完成的,但许多任务是通过创建并行执行的错觉来完成的——它们只是切换得如此之快,以至于您认为它们是并行的。
完全回答您的问题:当您提取数据时,它可能只是读取,而不是删除-因此,同一或不同 mkv 上的多个命令仅执行读取不应该成为问题。
有关更多信息,您可以谷歌“调度程序”、“Linux 调度程序”。