如何将3个命令包含在1个java类中

时间:2012-09-18 06:02:10

标签: java

请注意以下问题。

有UNIX服务器。 我有3个单独的命令,我可以在UNIX服务器中执行:

 1. java com.documentum.server.impl.utils.TestConnection SERVER_NAME PORT_NUMBER do_method
 2. dmqdocbroker -t SERVER_NAME -p PORT_NUMBER -c getserver
 3. dmqdocbroker -t SERVER_NAME -p PORT_NUMBER -c getservermap <REPOSITORY_NAME>

注意: dmqdocbroker - shell脚本。

我想在一个java类中包含3个命令,并且要写入每个命令的输出 分开日志文件。但我不知道如何实现它。

另外,请你建议如何在日食中检查它?

请建议。

关于!

2 个答案:

答案 0 :(得分:1)

根据其他答案,这是shell实现的样子:

#!/bin/sh
java com.documentum.server.impl.utils.TestConnection SERVER_NAME PORT_NUMBER do_method &> log_file_1
dmqdocbroker -t SERVER_NAME -p PORT_NUMBER -c getserver &> log_file_2
dmqdocbroker -t SERVER_NAME -p PORT_NUMBER -c getservermap <REPOSITORY_NAME> &> log_file_3

如果您感到好奇,command &> filename意味着您将标准输出和错误输出都放在同一个日志文件中。如果您希望这些文件转到不同的日志文件,则可以对标准输出> fileA和标准错误2> fileB进行任意组合。

最后,如果你想让这三个命令同时发生,你可以在最后放一个&

答案 1 :(得分:0)

查看Process和Runtime.exec的api。在Process中,您可以使用getInputStream()和getErrorStream()来获取进程的stdout和stderr并进行重定向。

但是,为此目的编写java程序对我来说没有意义。编写shell脚本会简单得多。