有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个命令,并且要写入每个命令的输出 分开日志文件。但我不知道如何实现它。
另外,请你建议如何在日食中检查它?
请建议。
关于!
答案 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脚本会简单得多。