java ef 引用问题_java调用shell(ps -ef | grep )问题

shell:

ps -ef | grep 'DevCfg_Cli.pl 51964 ZYYC00002'

[b]在控制台输入,输出正常[/b]

root 3226 3088 0 12:51:04 pts/4 0:00 grep DevCfg_Cli.pl 51964 ZYYC0000

[b]用java Runtime 调的时候,报[/b]

用法:ps [ -aAdeflcjLPyZ ] [ -o 格式 ] [ -t 项列表 ]

[ -u 用户列表 ] [ -U 用户列表 ] [ -G 组列表 ]

[ -p 进程列表 ] [ -g 程序组列表 ] [ -s 标识符列表 ] [ -z 区域列表 ]

'格式' 是一个或者更多的:

user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid

pri opri pcpu pmem vsz rss osz nice class time etime stime zone 区域 ID

f s c lwp nlwp psr tty addr wchan fname comm args projid project pset

[code="java"]

public static String exec(String cmd,String encoding) {

StringBuffer sb1;

StringBuffer sb2;

sb1 = new StringBuffer();

sb2 = new StringBuffer();

String temp1 = "";

String temp2 = "";

Runtime rt = Runtime.getRuntime();

try {

System.out.println("[===============执行命令==========]:"+cmd);

Process p = rt.exec(cmd);

BufferedReader bufferedReader1 = new BufferedReader(

new InputStreamReader(p.getInputStream(),encoding));

BufferedReader bufferedReader2 = new BufferedReader(

new InputStreamReader(p.getErrorStream(),encoding));while ((temp1 = bufferedReader1.readLine()) != null) {

sb1.append(temp1);

System.out.println(temp1);

}

while ((temp2 = bufferedReader2.readLine()) != null) {

sb2.append(temp2);

System.err.println(temp2);

}

p.waitFor();

return sb1.toString();

} catch (Exception e) {

e.printStackTrace();

}

return sb1.toString();

}


版权声明:本文为weixin_42352842原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。