1、Windows
透過任務管理器檢視程序資訊
在程序頁籤中檢視Java程序,我是idea啟動,因此可以在idea下檢視相關程序
此外可以在詳細資訊頁簽下Ctrl+f搜尋java
透過控制檯檢視程序資訊
進入CMD,鍵入tasklist,可以檢視所有的程序資訊,包括程序ID、記憶體使用情況
檢視Java相關的程序,可以新增過濾條件 tasklist | findstr “java” ,需要注意windows中字串需要使用雙引號,要不就不加也是可以的
如果是在IDEA中啟動程式,可以借用idea的Terminal終端執行命令
taskkill 殺死程序
殺死程序使用taskkill /pid 指定程序id,如果無法殺死,可以嘗試強制殺死taskkill /pid 程序id -t -f
可以看到idea控制檯中程序已結束
透過tasklist | findstr 程序id 已經無法查詢到該程序,說明程序終止成功
2、Linux
ps -ef 命令檢視
Linux下可以透過ps -ef檢視所有程序資訊,具體引數說明如果不知道的可以看看菜鳥網站的簡單介紹,如下連結可以直達。
www。runoob。com/linux/linux…
提供一個測試Java類,為防止執行緒執行結束,程式碼中使用了while(true)迴圈,同時防止完全佔用CPU,使用TimeUnit。SECONDS。sleep(2)睡眠2秒,讓出CPU執行時間。
透過javac ThreadDemo2。java編譯ThreadDemo2。java類,生成對應的class檔案-ThreadDemo2。class;之後透過java -cp / com。lzb。concurrency。demo1。ThreadDemo2執行
檢視ThreadDemo2的程序資訊ps -ef | grep ThreadDemo2(
注意需要新開一個Shell視窗
)
kill 殺死程序
使用kill 程序id,殺死程序
top 命令檢視
檢視所有程序資訊,可以使用top命令
檢視指定程序的資訊,使用top -p 程序id,檢視指定程序下的所有執行緒資訊,可以使用top -H -p 程序id
具體引數描述可以參考下菜鳥網站的簡單介紹,如下連結可以直達。
www。runoob。com/linux/linux…
3、Java自帶工具
jps 檢視程序id
Java自帶的命令就不區分平臺了,如果需要檢視所有的Java程序id,可以使用jps
jstack 檢視程序中的執行緒狀態
檢視某個Java程序的執行緒狀態,可以結合jps一起使用,先透過jps查詢程序的id,然後透過jstack查詢程序中的所有執行緒的狀態,需要注意的是jstack查詢的執行緒狀態,是該程序在查詢時刻的執行緒狀態(瞬時態)
資訊比較多並未展示完全
jconsole 圖形化介面
jconsole是jdk自帶的監控記憶體、執行緒、類等資源情況的圖形化介面。
在windows 環境下,可以直接雙擊執行jdk安裝目錄bin資料夾下的jconsole。exe檔案
如果是本地Java程序,可以勾選本地程序,然後再本地程序中找到你的Java程序,選中後點擊連線即可
本地連線不需要密碼驗證,選擇不安全連線即可,如下即為jconsole的介面
如果java程序執行在遠端Linux伺服器上,則需要使用遠端連線
遠端連線需要ip port username password等資訊,此時我們需要使用如下方式執行Java類
java -Djava。rmi。server。hostname=‘ip地址’ -Dcom。sun。management。jmxremote -Dcom。sun。management。jmxremote。port=‘埠’ -Dcom。sun。management。jmxremote。ssl=是否安全連線 -Dcom。
sun。management。jmxremote。authenticate=是否需要認證 java類
連結:https://juejin。cn/post/7035630376475164680