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

Windows

Java測試代碼如下,基本思想先運行Tasklist命令,獲取當(dāng)前系統(tǒng)運行的所有進(jìn)程,然后循環(huán)讀取每個進(jìn)程,與我們所要搜索的進(jìn)程關(guān)鍵字進(jìn)行匹配,如果包含有進(jìn)程關(guān)鍵字(indexOf函數(shù)的返回值就不會是-1),則說明這個進(jìn)程正在運行,否則,進(jìn)程沒有運行:

java

程序運行截圖如下,這里我對進(jìn)程名進(jìn)行了紅色標(biāo)記,如下,可以看出,當(dāng)前搜索的chrome進(jìn)程正在運行:

java

Linux

這里的Java代碼基本和前面的Windows平臺類似,唯一的區(qū)別就是運行“ps -aux”命令獲取當(dāng)前系統(tǒng)的所有進(jìn)程,然后循環(huán)遍歷進(jìn)程列表,如果匹配到進(jìn)程的關(guān)鍵字,則說明搜索的進(jìn)程正在運行,否則,沒有運行:

java

程序運行截圖如下,這里我也用顏色對進(jìn)程名進(jìn)行了標(biāo)記,如下,可以看出,當(dāng)前的vsftpd進(jìn)程正在運行:

java

至此,我們就完成了利用Java來判斷某個進(jìn)程是否正在啟用或運行。總的來說,整個過程非常簡單,代碼也非常容易理解,只要你有一定的Java基礎(chǔ),熟悉一下上面的代碼,很快就能掌握的。