Đóng Bảng điều khiển Java bằng tệp bó


0

Tôi làm việc cho một hội đồng địa phương rằng vì một số lý do đã mua một ứng dụng rất dễ hỏng khi sử dụng Java. Một số màn hình web nhất định sẽ không khởi chạy và cách duy nhất tôi tìm thấy để giải quyết vấn đề là mở Bảng điều khiển Java và sau đó đóng ngay lập tức mà không cần làm gì khác. Thật không may, tôi đã được thông báo rằng đây không phải là một sửa chữa thỏa đáng khi hàng trăm người sẽ sử dụng hệ thống. Tôi đã viết một tệp bó sẽ mở và đóng bàn điều khiển trước khi mở URL IE (xem bên dưới).

Start /wait "" "C:\Program Files\Java\jre6\bin\javacpl.exe"  
ECHO Opening JAVA Console  
timeout 4  
TASKKILL /F /IM javacpl.exe

Vấn đề với điều này là nó giết chết mọi phiên Java đang chạy trên PC, không chỉ trên bàn điều khiển. Do đó, mọi người không thể chạy nhiều phiên bản của ứng dụng, ví dụ như Test, Dev, Train và / hoặc Live. Có cách nào để đóng giao diện điều khiển nhưng để tất cả các phiên bản java khác đang chạy không?

Cảm ơn


Bạn đang sử dụng hệ điều hành nào?
Doktoro Reichard

Câu trả lời:


0

Nếu bạn nhìn vào lệnh taskkill, bạn có thể thấy các công tắc taskkill:

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

Description:
    This tool is used to terminate tasks by process id (PID) or image name.

Parameter List:
    /S    system           Specifies the remote system to connect to.

    /U    [domain\]user    Specifies the user context under which the
                           command should execute.

    /P    [password]       Specifies the password for the given user
                           context. Prompts for input if omitted.

    /FI   filter           Applies a filter to select a set of tasks.
                           Allows "*" to be used. ex. imagename eq acme*

    /PID  processid        Specifies the PID of the process to be terminated.
                           Use TaskList to get the PID.

    /IM   imagename        Specifies the image name of the process
                           to be terminated. Wildcard '*' can be used
                           to specify all tasks or image names.

    /T                     Terminates the specified process and any
                           child processes which were started by it.

    /F                     Specifies to forcefully terminate the process(es).

    /?                     Displays this help message.

Filters:
    Filter Name   Valid Operators           Valid Value(s)
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    Image name
    PID           eq, ne, gt, lt, ge, le    PID value
    SESSION       eq, ne, gt, lt, ge, le    Session number.
    CPUTIME       eq, ne, gt, lt, ge, le    CPU time in the format
                                            of hh:mm:ss.
                                            hh - hours,
                                            mm - minutes, ss - seconds
    MEMUSAGE      eq, ne, gt, lt, ge, le    Memory usage in KB
    USERNAME      eq, ne                    User name in [domain\]user
                                            format
    MODULES       eq, ne                    DLL name
    SERVICES      eq, ne                    Service name
    WINDOWTITLE   eq, ne                    Window title

    NOTE
    ----
    1) Wildcard '*' for /IM switch is accepted only when a filter is applied.
    2) Termination of remote processes will always be done forcefully (/F).
    3) "WINDOWTITLE" and "STATUS" filters are not considered when a remote
       machine is specified.

Examples:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T 
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

Bạn có thể có thể sử dụng TASKKILL /FI "Windows title"để tiêu diệt trường hợp cụ thể mà bạn đang gặp vấn đề.

Về cơ bản, bạn cũng có thể làm điều tương tự trong PowerShell, nhưng có những tuyến tiềm năng khác để thử và đoán tốt hơn.

Ví dụ: bạn có thể thấy thời gian chạy của các Java.exes khác nhau và chỉ giết đúng thời gian:

Get-Process -Name "java" | where {$_.Starttime -lt 100}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.