回覆列表
  • 1 # daazhu1

    前段時刻測試的時辰發現客戶端,雙擊停筆多次回生成多次XXX.exe.所以在啟動時判定一下時辰有歷程已經啟動了,下面把程式碼寫出來。 Java程式碼 public boolean getProcess(){ boolean flag=false; try{ Process p = Runtime.getRuntime().exec( "cmd /c tasklist "); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InputStream os = p.getInputStream(); byte b[] = new byte[256]; while(os.read(b)> 0) baos.write(b); String s = baos.toString(); // System.out.println(s); if(s.indexOf( "Besttone.exe ")>=0){ System.out.println( "yes "); flag=true; } else{ System.out.println( "no "); flag=false; } }catch(java.io.IOException ioe){ } return flag; }

  • 2 # 小小猿愛嘻嘻

    這個實現起來非常簡單,只需要遍歷當前的程序列表,如果包含有我們查詢的某個程序關鍵字,則說明這個程序正在啟用或執行,否則,沒有執行,下面我簡單介紹一下實現過程,感興趣的朋友可以嘗試一下,Windows環境和Linux環境基本類似:

    Windows

    Java測試程式碼如下,基本思想先執行Tasklist命令,獲取當前系統執行的所有程序,然後迴圈讀取每個程序,與我們所要搜尋的程序關鍵字進行匹配,如果包含有程序關鍵字(indexOf函式的返回值就不會是-1),則說明這個程序正在執行,否則,程序沒有執行:

    程式執行截圖如下,這裡我對程序名進行了紅色標記,如下,可以看出,當前搜尋的chrome程序正在執行:

    Linux

    這裡的Java程式碼基本和前面的Windows平臺類似,唯一的區別就是執行“ps -aux”命令獲取當前系統的所有程序,然後迴圈遍歷程序列表,如果匹配到程序的關鍵字,則說明搜尋的程序正在執行,否則,沒有執行:

    程式執行截圖如下,這裡我也用顏色對程序名進行了標記,如下,可以看出,當前的vsftpd程序正在執行:

    至此,我們就完成了利用Java來判斷某個程序是否正在啟用或執行。總的來說,整個過程非常簡單,程式碼也非常容易理解,只要你有一定的Java基礎,熟悉一下上面的程式碼,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 中秋節和大豐收的關聯?
  • 幫兄弟徵婚文案幽默?