运行 wine 与 gnu-parallel 并行 - 需要 {%} 插槽替换才能工作
Run wine in parallel with gnu-parallel - needs {%} slot substitution to work
我在 ubuntu 中使用 gnu-parallel 并行 运行ning wine/dos 命令。我可以并且已经通过简单的命令成功地完成了这项工作。
然而,一些更复杂的问题可能会导致 wine 中组件之间的干扰。
因此,为了解决这个问题,我想使用 中查询的 {%} 将一次作业限制为特定命名的 "wine prefix" 实例。问题是:{%} 替换似乎不起作用。
我最终希望能够运行像下面这样的东西
parallel -j4 'WINEPREFIX=$HOME/slot{%} wine cmd /c @echo {%} 2>/dev/null' ::: A B C D
不幸的是,创建并使用了一个新的 wine 前缀插槽 {%},而不是现有的 slot1、slot2、slot3 和 slot4 前缀目录。
按照我试过的手册:
parallel -j 2 echo {%} ::: A B C
但不是返回类似的东西:
1
2
1
它returns:
{%} A
{%} B
{%} C
所以我不认为问题出在葡萄酒上,而是其他方面:是否需要以某种方式启用 {%} 替换?也许它在我的版本中不可用?也许我错误地复制了示例用法?我在任何地方都找不到这个问题的其他例子,但它每次都发生在我身上。
作为一个较弱的解决方法,我一直在将 bash 模运算符应用于 {#} 作业替换,但这并不完美,因为我仍然偶尔会遇到槽-槽冲突和随后的崩溃。
仅供参考 1:lsb_release -a
returns
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
parallel --version
returns
GNU parallel 20130922
您的 parallel
版本似乎太旧了。
您是否在您的版本附带的文档或在线文档中看到 {%}
?
GNU Parallel 20140522
的发行说明表明:
- {%} introduced as job slot replacement string. It has known bugs.
GNU Parallel 20140622
的发行说明表明:
- {%} works as job slot.
我在 ubuntu 中使用 gnu-parallel 并行 运行ning wine/dos 命令。我可以并且已经通过简单的命令成功地完成了这项工作。
然而,一些更复杂的问题可能会导致 wine 中组件之间的干扰。
因此,为了解决这个问题,我想使用
我最终希望能够运行像下面这样的东西
parallel -j4 'WINEPREFIX=$HOME/slot{%} wine cmd /c @echo {%} 2>/dev/null' ::: A B C D
不幸的是,创建并使用了一个新的 wine 前缀插槽 {%},而不是现有的 slot1、slot2、slot3 和 slot4 前缀目录。
按照我试过的手册:
parallel -j 2 echo {%} ::: A B C
但不是返回类似的东西:
1
2
1
它returns:
{%} A
{%} B
{%} C
所以我不认为问题出在葡萄酒上,而是其他方面:是否需要以某种方式启用 {%} 替换?也许它在我的版本中不可用?也许我错误地复制了示例用法?我在任何地方都找不到这个问题的其他例子,但它每次都发生在我身上。
作为一个较弱的解决方法,我一直在将 bash 模运算符应用于 {#} 作业替换,但这并不完美,因为我仍然偶尔会遇到槽-槽冲突和随后的崩溃。
仅供参考 1:lsb_release -a
returns
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
parallel --version
returns
GNU parallel 20130922
您的 parallel
版本似乎太旧了。
您是否在您的版本附带的文档或在线文档中看到 {%}
?
GNU Parallel 20140522
的发行说明表明:
- {%} introduced as job slot replacement string. It has known bugs.
GNU Parallel 20140622
的发行说明表明:
- {%} works as job slot.