我尝试收集有关系统的一些信息,例如内存使用情况和cpu使用情况,并将其传递给负责将其存储到数据库中的java应用程序。
答案 0 :(得分:2)
你在bash脚本结束时调用java程序是正确的道路。
我99.9%确定您需要在bash脚本中拨打java -jar
而不仅仅是java
。
java Program $perName $systemCpuUsage $systemMemoryUsage $readingTime
java -jar Program $perName $systemCpuUsage $systemMemoryUsage $readingTime
同样在你的主java类中,我认为你应该为每个语句而不是固定循环调用一个。
for(String arg : args)
{
System.out.println(arg);
}
我能想到的另一件事是你的bash脚本有问题是没有正确获取变量。您应该尝试echo
出结果来调试变量应该在bash脚本中的内容。
ArrayIndexOutOfBoundsException
表示您多次循环两次。用a替换它们将告诉你传递了多少变量。当您收到该错误时,表示您的args数组不够大,并且您试图从数组中不存在的部分获取数据。