ChinaUnix.net
相关文章推荐:

java 获取shell的返回值

Runtime runtime = Runtime.getRuntime(); String path="/home/hadoop/ma/test.sh"; Process process = runtime.exec(path); int exitVal = process.waitFor(); System.out.println(exitVal); 我先建立了一个连接,连接到linux然后写以上的代码就报错了 求解 Exception in thread "main" java.io.IOException: Cannot run program "/home/hadoop/ma/test.sh": CreateProcess error=3, ϵͳÕҲ»µ½...

by t40950128 - Java - 2011-11-23 16:32:47 阅读(4777) 回复(2)

javalinuxshell

相关讨论

一般我们在java中运行 其它类中的方法时,无论是静态调用,还是动态调用,都是在当前的进程中执行的,也就是说,只有一个java虚拟机实例在运行。而有的时候,我们需要通过 java代码启动多个java子进程。这样做虽然占用了一些系统资源,但会使程序更加稳定,因为新启动的程序是在不同的虚拟机进程中运行的,如果有一个进 程发生异常,并不影响其它的子进程。   在java中我们可以使用两种方法来实现这种要求。最简单的方法就是通过...

by lc0060305 - Linux文档专区 - 2007-03-02 17:16:26 阅读(1389) 回复(0)

15、问: 为什么Runtime.exec("ls")没有任何输出? 答: 调用 Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息. 由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向...

by lc0060305 - Linux文档专区 - 2007-03-02 17:14:38 阅读(3427) 回复(0)

请问shell 里面调用 java或者ruby 怎么取到java返回值呀,不是$?的运行结果0/1;想要取到被调用程序返回值

by victorxu21 - Shell - 2009-05-19 08:37:30 阅读(7831) 回复(2)

有两个shell,main.sh和sub.sh,其中main.sh调用sub.sh,sub.sh执行后将一些值返回给main.sh,怎么实现?

by wsryyffs66 - Shell - 2010-05-14 13:25:56 阅读(7401) 回复(16)

Windows环境 现有3个perl脚本a.pl、b.pl、c.pl,a.pl为入口,根据条件判断执行 system('b.pl'); 或者 system('c.pl'); 并获取返回值$?判断执行成功或者失败。 a.pl if ( b ){ system('b.pl'); } elsif(c){ system('c.pl'); } else{ exit 3; } print "$?\n"; if ($?==0){ exit 0; } else{ exit 1; } ---------------------------------------- b.pl ****** exit 0; ---------------------------------------- c.pl ...

by speedvv - Perl - 2013-07-31 17:52:54 阅读(1207) 回复(0)

大体意图就是 向串口发送一个字符,设备返回发送的这个内容进行确认,若不一致则重发 代码如下[code]echo "0" > /dev/ttyS0 feedback=`cat /dev/ttyS0` #在上面就停住了 #echo $feedback while [ $feedback != "0"] do echo "Retry!" echo "0" > /dev/ttyS0 feedback=`cat /dev/ttyS0` done[/code]是不是可以发送 类似结束符的那种 会让串口读取一下就退出呢? 感谢关注

by mrshanliren - Shell - 2012-12-11 00:03:16 阅读(3341) 回复(4)

在网上搜了很多,都没有这方面的讲解,无奈之下到官方网站搜索sqlplus的手册, SQL*Plus® User's Guide and Reference Release 11.2 E16604-02 找到解决方法,[code]value=`sqlplus -s test/test <

by zhurui4 - Oracle - 2012-05-07 11:45:26 阅读(3709) 回复(2)

我现在知道: (1) system可以调用shell 命令,例如:system("ls -l") ; system("echo \"Hello, World\"") ; (2) shell 命令是有返回值的: 用 echo $? 便可以在标准输出上显示出此返回值 【问题】: 在C语言中,怎么获取一条shell命令的返回值 示意流程如下: return_code = system("shell command") ; if (return_code == 1) do something ; else if (return_...

by anank - C/C++ - 2008-12-12 10:23:46 阅读(8623) 回复(7)

本帖最后由 jun277 于 2013-12-17 15:27 编辑 例如:hell.sh 里面内容为 #!/bin/bash echo "error" exit 1 当执行下面语句就能把结果打印到log中, sh hell.sh 参数 >log 2>&1 但其他脚本例如perl去调用的的情况就获取不到exit里面的返回值了?有没有办法其他程序调用sh hell.sh 参数 >log 2>&1执行后能获得hell.sh的返回值,不用再在log里面解析出返回值

by jun277 - Shell - 2013-12-17 17:50:11 阅读(2068) 回复(4)

我是想在入口函数直接加上 tee命令将标准输出打印在屏幕的同时,也记录到文件中。 同时也希望能够捕捉到main的返回值。 但是发现在使用了管道符号之后,main的返回值取不到了,$?代表的是管道之后命令的返回值。 本想用一个全局变量retCode来记录main的退出值,但发现retCode的修改同样无法传出main函数外部。 请教解决方案,谢谢![code]#!/bin/bash retCode=0 function main() { retCode=100 exit 100 } main 2>&1 | te...

by legone2008 - Shell - 2013-11-29 14:08:36 阅读(4680) 回复(11)