日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

runtime无法执行grep_如何使管道使用Runtime.exec()?

發布時間:2025/3/12 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 runtime无法执行grep_如何使管道使用Runtime.exec()? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

慕運維8079593

我在Linux中遇到了一個類似的問題,只不過是“ps-ef_grep找進程”。至少使用“ls”可以替換與語言無關(盡管速度較慢)的Java。例如:File?f?=?new?File("C:\\");String[]?files?=?f.listFiles(new?File("/home/tihamer"));for?(String?file?:?files)?{

????if?(file.matches(.*some.*))?{?System.out.println(file);?}}有了“ps”,這就有點難了,因為Java似乎沒有相應的API。我聽說西格也許能幫到我們:https:/Support.hyperic.com/Display/SIGAR/Home然而,最簡單的解決方案(正如Kaj所指出的)是以字符串數組的形式執行管道命令。以下是完整的代碼:try?{

????String?line;

????String[]?cmd?=?{?"/bin/sh",?"-c",?"ps?-ef?|?grep?export"?};

????Process?p?=?Runtime.getRuntime().exec(cmd);

????BufferedReader?in?=

????????????new?BufferedReader(new?InputStreamReader(p.getInputStream()));

????while?((line?=?in.readLine())?!=?null)?{

????????System.out.println(line);?

????}

????in.close();}?catch?(Exception?ex)?{

????ex.printStackTrace();}為什么字符串數組與管道一起工作,而單個字符串不能.這是宇宙之謎之一(尤其是如果你還沒有讀過源代碼)。我懷疑這是因為當給EXEC一個字符串時,它首先解析它(以我們不喜歡的方式)。相反,當向exec提供字符串數組時,它只是將其傳遞給操作系統,而不對其進行解析。實際上,如果我們從繁忙的一天抽出時間來查看源代碼(見http:/grepcode.com/file/pository.grepcode.com/java/root/JDK/OpenJDK/6-b14/java/lang/Runtime.java#Runtime.exec%28java.lang.String%2 Cjava.lang.String[]%2 Cjava.io.File%29),我們發現這正是正在發生的事情:public?Process??[More?...]?exec(String?command,?String[]?envp,?File?dir)?

??????????throws?IOException?{

????if?(command.length()?==?0)

????????throw?new?IllegalArgumentException("Empty?command");

????StringTokenizer?st?=?new?StringTokenizer(command);

????String[]?cmdarray?=?new?String[st.countTokens()];

????for?(int?i?=?0;?st.hasMoreTokens();?i++)

????????cmdarray[i]?=?st.nextToken();

????return?exec(cmdarray,?envp,?dir);}

總結

以上是生活随笔為你收集整理的runtime无法执行grep_如何使管道使用Runtime.exec()?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。