it-swarm-vi.tech

Biết quy trình Java.exe nào để giết trên máy tính windows

Khi a Java bắt đầu hoạt động sai trên máy windows, bạn muốn có thể giết tiến trình trong trình quản lý tác vụ nếu bạn không thể thoát khỏi ứng dụng một cách bình thường. có nhiều hơn một Java đang chạy trên máy của tôi. Có cách nào tốt hơn là chỉ giết ngẫu nhiên các quy trình Java.exe với hy vọng cuối cùng bạn sẽ trúng đúng ứng dụng không?

EDIT : Cảm ơn tất cả những người đã chỉ cho tôi đến Trình khám phá quy trình của Sysiternal - Chính xác là những gì tôi đang tìm kiếm!

46
Peter

Tải xuống Trình khám phá quy trình của Sysiternal . Đó là một trình quản lý tác vụ mạnh mẽ hơn nhiều so với trình quản lý riêng của Windows.

Một trong những tính năng của nó là bạn có thể thấy tất cả các tài nguyên mà mỗi quá trình đang sử dụng (như khóa đăng ký, thư mục đĩa cứng, đường ống có tên, v.v.). Vì vậy, duyệt các tài nguyên mà mỗi quy trình Java.exe nắm giữ có thể giúp bạn xác định được tài nguyên bạn muốn giết. Tôi thường tìm ra bằng cách tìm kiếm một thư mục sử dụng một thư mục tệp nhật ký nhất định.

33
Ricardo Reyes

Chạy jps -lv trong đó hiển thị các lệnh PID và dòng lệnh của tất cả các tiến trình đang chạy Java.

Xác định PID của nhiệm vụ bạn muốn giết. Sau đó sử dụng lệnh:

taskkill /PID <pid>

để giết quá trình xử lý sai.

54
Misha

Nếu bạn không thể chạy một ứng dụng GUI như ProcessExplorer và bạn đang tìm kiếm đối số "Dòng lệnh" của các quy trình thì bạn có thể sử dụng "wmic" thông qua dòng lệnh. Ví dụ:

wmic PROCESS get Processid,Caption,Commandline

Nếu bạn muốn tìm kiếm một quy trình cụ thể, bạn có thể làm điều này:

wmic PROCESS where "name like '%Java%'" get Processid,Caption,Commandline

Đầu ra từ đây sẽ hiển thị cho bạn tất cả các đối số dòng lệnh của các quy trình như "Java."

31
Jesse

Sử dụng jps trong JDK sẽ cung cấp cho bạn thêm thông tin. Thêm thông tin được hiển thị với các tùy chọn -m, -l và -v.

7
Tom Hawtin - tackline

Nếu bạn đang sử dụng Java 6, hãy thử jvisualvm từ thư mục bin JDK.

6
Bill Michell

Bạn đã thử sử dụng Process Explorer từ SysIternals chưa? Nó cho một ý tưởng tốt hơn nhiều về những gì đang chạy trong quy trình. Có sẵn trực tuyến miễn phí tại đây: http://technet.Microsoft.com/en-us/sysiternals/bb896653.aspx

6
Raithlin

Bạn có thể thử mở Trình quản lý tác vụ Windows, chuyển đến tab Ứng dụng, nhấp chuột phải vào ứng dụng và sau đó chọn "Chuyển đến quá trình". Điều này sẽ tự động làm nổi bật quá trình thích hợp trong tab Quy trình.

4
snafu109

Trong trường hợp bạn đang phát triển phần mềm: hãy sử dụng trình khởi chạy Java. Tôi đã sử dụng cho một vài ứng dụng của mình [exe4j] [ http://www.ej-technology.com/products/exe4j/overview.html] và nó hoạt động rất tốt. Khi ứng dụng được khởi động, nó được liệt kê như "myserverapp.exe" hoặc "myapp" trong trình quản lý tác vụ của windows. Cũng có những kẻ lừa đảo khác (không được biết đến chúng bằng trái tim), một vài trong số chúng cũng có thể miễn phí.

2
twistedmind

Thay vì sử dụng công cụ của bên thứ ba, bạn cũng có thể đoán khá tốt bằng cách xem tất cả các cột trong trình quản lý tác vụ nếu bạn biết đại khái các quy trình Java trên hệ thống của bạn là gì. Tab quy trình, sử dụng Xem-> Chọn Cột và thêm PID, Thời gian CPU, VM Kích thước và số lượng chủ đề. Biết rõ về quy trình đang làm gì sẽ giúp thu hẹp quy trình.

Ví dụ: trong ứng dụng máy khách-máy chủ, máy chủ có thể sẽ sử dụng nhiều bộ nhớ hơn, có nhiều luồng hơn và đã sử dụng nhiều thời gian CPU hơn vì nó đã chạy lâu hơn. Nếu bạn đang giết một tiến trình vì nó bị kẹt, nó có thể đơn giản là sử dụng nhiều CPU hơn ngay bây giờ.

MAX Java thường được phản ánh trực tiếp trong VM Kích thước. Vì vậy, nếu bạn đang sử dụng cờ -Xmx, quy trình với cài đặt lớn hơn sẽ có quy mô lớn hơn VM Kích thước.

1
TREE

Nếu ứng dụng hoàn toàn không phản hồi, thì Process Explorer là một lựa chọn tốt.

Nếu đó là loại phản hồi, nhưng không chết, đôi khi đưa lên trình quản lý tác vụ và sau đó di chuyển một hộp thoại khác qua quá trình Java sẽ cho bạn manh mối. Java = process đang chiếm chu kỳ cpu để vẽ lại là quy trình bạn đang tìm kiếm.

1
Mikezx6r

Tôi khuyên bạn nên tải xuống Process Explorer từ Sysiternals và xem xét các quy trình Java.exe khác nhau một cách gần gũi hơn, theo cách đó bạn có thể biết được ý tưởng nào tốt hơn để giết.

http://technet.Microsoft.com/en-us/sysiternals/bb896653.aspx

Nó rất trực quan và bạn có thể tìm thấy các quy trình Java.exe, nhấp chuột phải và xem các thuộc tính của chúng, từ đó bạn có thể thấy dòng lệnh của chúng, thời gian tạo, v.v ... có thể giúp bạn tìm thấy quy trình bạn muốn giết.

Hy vọng nó giúp.

1
Henry B

Sử dụng ProcessExplorer và di chuột qua quá trình Java sẽ hiển thị dòng lệnh.

1
user6837