多次运行.jar文件

时间:2019-01-08 20:02:54

标签: java bash sparql rdf

所以我在下面运行bash脚本:

#!/bin/bash
cd /data/www/usr/rzzw/todo/
for i in *; do
    endpoint=$(less $i | sed -rn 's/(.*\|endpoint - )(.*)/\2/p')
    nohup java -jar /data/www/usr/rzzw/sum/file.jar /data/www/usr/rzzw/sum/config.properties $endpoint 1>"../done/$i-out" 2>"../done/err/$i-err" &
done

它工作正常,创建日志并执行jar文件X次。那正是我想要的。 jar文件开始获取有关SPARQL端点的信息。

但是,在开始时,此文件必须执行复杂的SPARQL选择,而这可能会花费很多时间。在等待响应期间,“某物”杀死了这些过程。我期望 nohup 会照顾到后台进程。

STDERR:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)

仅当命令由脚本执行时才会发生此错误。当我自己在Linux终端中尝试时,没有任何错误。

工作命令示例:

nohup java -jar /data/www/usr/rzzw/sum/file.jar /data/www/usr/rzzw/sum/config.properties data.archiveshub.ac.uk/sparql 1>out 2>err &

是否有其他解决方案可以多次运行-jar文件,或者该bash脚本可以以某种方式等待其响应?

我没有创建此-jar文件,并且在执行过程中发生的所有事情都只写在命令行中。

0 个答案:

没有答案