相关疑难解决方法(0)

java runtime.getruntime()从执行命令行程序获取输出

我正在使用运行时从我的Java程序运行命令提示符命令.但是我不知道如何获得命令返回的输出.

这是我的代码:

Runtime rt = Runtime.getRuntime();

String[] commands = {"system.exe", "-send" , argument};

Process proc = rt.exec(commands);
Run Code Online (Sandbox Code Playgroud)

我尝试过,System.out.println(proc);但没有返回任何东西.该命令的执行应返回由分号分隔的两个数字,我怎样才能在变量中打印出来?

这是我现在使用的代码:

String[] commands = {"system.exe", "-get t"};

Process proc = rt.exec(commands);

InputStream stdIn = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stdIn);
BufferedReader br = new BufferedReader(isr);

String line = null;
System.out.println("<OUTPUT>");

while ((line = br.readLine()) != null)
     System.out.println(line);

System.out.println("</OUTPUT>");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何东西作为我的输出,但当我自己运行该命令它工作正常.

java runtime

131
推荐指数
7
解决办法
23万
查看次数

在Linux上运行Java应用程序即服务

我编写了一个在标准虚拟托管Linux解决方案上运行的Java服务器应用程序.应用程序一直运行,监听套接字连接并为它们创建新的处理程序.它是客户端 - 服务器应用程序的服务器端实现.

我启动它的方法是将它包含在服务器的启动rc.local脚本中.但是一旦启动,我不知道如何访问它来阻止它,如果我想安装更新,所以我必须重新启动服务器才能重新启动应用程序.

在Windows PC上,对于这种类型的应用程序,我可能会创建一个Windows服务,然后我可以根据需要停止并启动它.Linux盒子上有类似的东西,所以如果我启动这个应用程序,我可以停止它并重新启动它而不需要完全重启服务器.

我的应用程序称为WebServer.exe.它是在服务器启动时启动的,它包含在我的rc.local中:

java -jar /var/www/vhosts/myweb.com/phpserv/WebServer.jar &
Run Code Online (Sandbox Code Playgroud)

我在Linux上有点像菜鸟,所以任何帖子都会受到赞赏.但是我确实有SSH,并且可以通过完整的FTP访问该框以安装任何更新以及访问Plesk面板.

java linux service

124
推荐指数
6
解决办法
19万
查看次数

标签 统计

java ×2

linux ×1

runtime ×1

service ×1