GNU进程并行超时

我想对以下命令使用GNU Parallel:

seq -w 30 | parallel -k -j6 java -javaagent:build/libs/pddl4j-3.1.0.jar -server -Xms8048m -Xmx8048m fr.uga.pddl4j.planners.hsp.HSP -o pddl/benchmarks_STRIPS/benchmarks_STRIPS/ipc1/movie/domain.pddl -f pddl/benchmarks_STRIPS/benchmarks_STRIPS/ipc1/movie/p{}.pddl -i 8 '>>' AstarMovie.txt

我在Java程序中有600秒的超时,但是并行不执行它。流程可以运行2、3、4个小时或更长时间,并且永不停止。

我基于GNU教程在线尝试了此命令,但是它也不起作用:

seq -w 30 | parallel -k --timeout 600000 -j6 java -javaagent:build/libs/pddl4j-3.1.0.jar -server -Xms2048m -Xmx2048m fr.uga.pddl4j.planners.hsp.HSP -o pddl/benchmarks_STRIPS/benchmarks_STRIPS/ipc1/movie/domain.pddl -f pddl/benchmarks_STRIPS/benchmarks_STRIPS/ipc1/movie/p{}.pddl -i 8 '>>' AstarMovie.txt

我在教程中看到GNU Parallel使用毫秒-所以600000是10分钟,这是我需要的,但是12分钟后该进程仍在运行。我需要6个进程同时运行,每个进程最多10分钟。

任何帮助将是巨大的。谢谢。

编辑:为什么人们觉得需要对帖子进行编辑,以实现从'600seconds'到'600 seconds'的细微变化?别为业而做

马克·谢切尔

GNU Parallel的超时以秒为单位,而不是毫秒。您可以使用此代码段进行测试,该代码段等待15秒,但超时会在10秒后将其切断:

time parallel --timeout 10 sleep {} ::: 15

real    0m10.961s
user    0m0.071s
sys     0m0.038s

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章