以下代码多次卡住(我认为这阻塞了I / O)。
def static executeCurlCommand(URL){
def url = "curl " + URL;
def proc = url.execute();
def output = proc.in.text;
return output;
}
但是当我将代码更改为
def static executeCurlCommand(URL){
def url = "curl " + URL;
def proc = url.execute();
def outputStream = new StringBuffer();
proc.waitForProcessOutput(outputStream, System.err)
return outputStream.toString();
}
每次都能正常工作。我不明白为什么第一种方式即proc.in.text
挂起输入会花费一些时间?当我在Windows和cygwin上尝试时,并没有发现与环境有关的问题。
为了测试/运行我尝试过的上述方法-
public static void main(def args){
def url = 'http://mail.google.com';
println("Output : " + executeCurlCommand(url));
}
我已经看到关于SO的多个问题,并且都提供了第二种方法。虽然效果很好,但我希望我能知道第一种方法有什么问题?有人遇到过这种情况吗?
问题 你想执行一个外部命令并以Python字符串的形式获取执行结果。 解决方案 使用 subprocess.check_output() 函数。例如: import subprocess out_bytes = subprocess.check_output(['netstat','-a']) 这段代码执行一个指定的命令并将执行结果以一个字节字符串的形式返回。 如果你需要文本形式返回,加一个解码步
问题内容: 如何执行Bash命令并从Java收集输出? 大家好,基本上,我正在编写一个基本的控制台应用程序,并且希望能够从中运行命令,例如sudo ***,halt,ifconfig等。 有见识吗? 问题答案: 您可以为此使用processBuilder API。请参阅此示例。
问题内容: 我只想知道哪种是在C ++中执行外部命令的最佳方法,如果有的话如何获取输出? 编辑 :我想我不得不告诉我我是这个世界上的新手,所以我认为我需要一个可行的例子。例如,我想执行如下命令: 我怎么做? 问题答案: 使用功能。 示例(不完整,生产质量代码,无错误处理):
本文向大家介绍PHP在linux上执行外部命令的方法,包括了PHP在linux上执行外部命令的方法的使用技巧和注意事项,需要的朋友参考一下 目录: 一、PHP中调用外部命令介绍 二、关于安全问题 三、关于超时问题 四、关于PHP运行linux环境中命令出现的问题 一、PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实
问题内容: 在node.js中,我想找到一种方法来获取Unix终端命令的输出。有什么办法吗? 问题答案: 那就是我现在正在工作的项目中这样做的方式。 示例:检索git用户
问题内容: 我有这个国际象棋引擎Rybka.exe,我必须在Java中执行。这是一个运行Rybka的示例:单击它后,控制台将打开并等待输入。因此,然后输入“uci”,然后按Enter键,等待它加载(大约1秒钟),然后您必须再输入几行作为选项和填充。问题是我不知道如何将这些命令从Java传递到Rybka。事实是这些命令必须一次输入一次,因为您必须等待一些命令才能执行。这就是我试图打开它的方式。码: