Parallel processing 进程的GNU并行超时
我想对该命令使用GNU Parallel:Parallel processing 进程的GNU并行超时,parallel-processing,gnu-parallel,Parallel Processing,Gnu Parallel,我想对该命令使用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/benc
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并行使用毫秒-所以600000是10分钟,这是我需要的,但12分钟后进程仍然在运行。我需要同时运行6个进程,每个进程最多运行10分钟
任何帮助都会很好。谢谢
编辑:
为什么人们觉得有必要对帖子进行一些小的修改,比如“600秒”到“600秒”?不要为了因果报应而这样做 GNU Parallel的超时以秒为单位,而不是以毫秒为单位。您可以使用此代码段测试它,该代码段将等待15秒,但超时会在10秒后将其切断:
time parallel --timeout 10 sleep {} ::: 15
real 0m10.961s
user 0m0.071s
sys 0m0.038s
“GNU并行不尊重您的超时”是什么意思?如果您的程序在10分钟后自动停止,GNU Parallel如何使其保持运行?GNU Parallel手册上说,
--timeout
的值以秒为单位。在我的java程序中,我有一个600秒的超时集来完成任务。当使用GNU并行时,进程将超过此超时并继续尝试解决问题否,它会显示“如果命令运行时间超过val秒”。请尝试此<代码>时间并行--超时10睡眠{}:::15