这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 sem,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
sem - 用于并行执行 shell 命令行的信号量
概要
无 [--fg] [--id ] [ - 暂停] [-j ] [--wait] 命令
商品描述
GNU 无 是 GNU 的别名 并行 - 信号.
它用作并行执行 shell 命令的工具。 GNU 无 作为计数
信号。 当 GNU 无 用命令调用它将在
背景。 什么时候 NUM 在后台运行的命令数量,GNU 无 将等待
在启动另一个命令之前完成其中一个。
在查看选项之前,您可能需要查看列表后面的示例
选项。 这会让你了解什么是 GNU 无 有能力。
配置
命令 要执行的命令。 命令后面可以跟命令的参数。
--背景 在后台运行命令,因此 GNU 并行 不会等待完成
退出前的命令。 这是默认设置。
另见: --fg
-j N 并行运行最多 N 个命令。 默认值为 1,因此就像互斥锁一样。
- 工作 N
-j N
--最大进程 N
-P N 并行运行最多 N 个命令。 默认值为 1,因此就像互斥锁一样。
- 工作 +N
-j +N
--最大进程 +N
-P +N 将 N 添加到 CPU 内核数。 并行运行这么多作业。 为了
计算密集型工作 -j +0 很有用,因为它将运行 CPU 核心数的作业
同时进行。
- 工作 -N
-j -N
--最大进程 -N
-P -N 从 CPU 内核数中减去 N。 并行运行这么多作业。
如果评估的数字小于 1,则将使用 1。 也可以看看
--使用 cpu 代替核心.
- 工作 N%
-j N%
--最大进程 N%
-P N% 将 N% 乘以 CPU 内核数。 并行运行这么多作业。
如果评估的数字小于 1,则将使用 1。 也可以看看
--使用 cpu 代替核心.
- 工作 进程文件
-j 进程文件
--最大进程 进程文件
-P 进程文件
从文件中读取参数。 使用内容 进程文件 作为参数 -j。 例如
进程文件 可以包含字符串 100% 或 +2 或 10。
--信号量名称 姓名
- ID 姓名
使用 VHDL 语言编写 姓名 作为信号量的名称。 默认是控制 tty 的名称
(输出来自 TTY).
当交互使用时,默认值通常按预期工作,但在
一个脚本 姓名 应该设置。 $$ or 我的任务名称 通常是一个很好的价值。
信号量存储在 ~/.parallel/信号量/
--fg 不要将命令放在后台。
- 暂停 秒 (未实现)
-t 秒 (未实现)
如果信号量未在 秒 秒,无论如何都要接受。
- 等待
-w 等待所有命令完成。
例: 压缩包 *。日志
每个 CPU 内核运行一个 gzip 进程。 阻塞直到 CPU 内核可用。
对于我在 *.log ; 做
回声我
sem -j+0 gzip $i ";" 回声完成
完成
sem --等待
例: 提供保护 pod2html 在 本身
pod2html 创建两个文件:pod2htmd.tmp 和 pod2htmi.tmp,它不会清理它们。 它
短时间使用这两个文件。 但是如果你并行运行多个 pod2html(例如
在带有 make -j 的 Makefile 中,您需要保护 pod2html 不会同时运行两次
时间。 无 作为互斥体运行将做到这一点:
sem --fg --id pod2html pod2html foo.pod > foo.html
sem --fg --id pod2html rm -f pod2htmd.tmp pod2htmi.tmp
使用 onworks.net 服务在线使用 sem