首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell ` `time`‘命令并行执行的正确顺序

shell ` `time`‘命令并行执行的正确顺序
EN

Stack Overflow用户
提问于 2019-04-02 21:26:19
回答 1查看 134关注 0票数 1

我需要执行下面的命令(作为脚本的一部分),但是我不知道按什么顺序放东西,这样它才能正确执行。我要做的是给file.smt2作为优化卫星的输入,执行它,获得执行时间。但是我希望使用所有的CPU核心并行地做几次。

代码语言:javascript
复制
parallel -j+0 time Desktop/optimathsat-1.5.1-macos-64-bit/bin/optimathsat < file.smt2 &>results.csv 

我在文件开头添加了#!/bin/bash -x,以查看正在发生的事情,这就是输出:

代码语言:javascript
复制
+ parallel -j+0 time file.smt2
parallel: Warning: Input is read from the terminal. You are either an expert
parallel: Warning: (in which case: YOU ARE AWESOME!) or maybe you forgot.
parallel: Warning: ::: or :::: or -a or to pipe data into parallel.

...from第1行,我能看出订单是错的。在第2行、第3行和第4行中,缺少语法。我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2019-04-05 07:25:24

所以我认为你不关心结果,而只关心时间:

代码语言:javascript
复制
seq $(parallel --number-of-threads) |
  parallel -j+0 -N0 --joblog my.log 'Desktop/optimathsat-1.5.1-macos-64-bit/bin/optimathsat < file.smt2'
cat my.log

-N0插入0个参数。

请考虑阅读GNU并行2018 (已打印在线) --至少有一章1+2。您的命令行将为此感谢您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55483799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档