Java运行时进程不会“Grep”

Java运行时进程不会“Grep”,第1张

概述我正在java程序中从命令行执行一些命令,看来它不允许我使用“grep”?我通过删除“grep”部分测试了这个,命令运行得很好!我的代码不起作用:String serviceL = 'someService'; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec('chkconfig --lis

我正在java程序中从命令行执行一些命令,看来它不允许我使用“grep”?我通过删除“grep”部分测试了这个,命令运行得很好!

我的代码不起作用:

String serviceL = "someService";Runtime rt = Runtime.getRuntime();Process proc = rt.exec("chkconfig --List | grep " + serviceL);

有效的代码:

Runtime rt = Runtime.getRuntime();Process proc = rt.exec("chkconfig --List");

为什么是这样?是否有某种正确的方法或解决方法?我知道我可以解析整个输出,但我会发现从命令行更容易完成.谢谢.最佳答案你正在尝试使用管道,这是外壳的一个功能…你没有使用外壳;你直接执行chkconfig过程.

简单的解决方案是执行shell并让它完成所有事情:

Process proc = rt.exec("/bin/sh -c chkconfig --List | grep " + serviceL);

那就是说……为什么你要用油管吹?只需阅读chkconfig的输出并在java中自己进行匹配. 总结

以上是内存溢出为你收集整理的Java运行时进程不会“Grep”全部内容,希望文章能够帮你解决Java运行时进程不会“Grep”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存