learning java ProcessHandle 獲取進程相當信息


        Process p = rt.exec("notepad.exe");
        ProcessHandle ph = p.toHandle();
        System.out.println("進程是否運行:" + ph.isAlive());
        System.out.println("進程ID:" + ph.pid());
        System.out.println("父進程:" + ph.parent());

        ProcessHandle.Info info = ph.info();

        System.out.println("進程命令:" + info.command());
        System.out.println("進程參數:" + info.arguments());
        System.out.println("進程啟動時間: " + info.startInstant());
        System.out.println("進程積計運行時間:" + info.totalCpuDuration());
        // 通過CompletetableFuture 在進程結束時運行某個命令
        CompletableFuture<ProcessHandle>  cf = ph.onExit();

        cf.thenRunAsync(() -> System.out.println("程序退出"));
        Thread.sleep(5000);

output:

進程是否運行:true
進程ID:7004
父進程:Optional[13192]
進程命令:Optional[C:\Windows\System32\notepad.exe]
進程參數:Optional.empty
進程啟動時間: Optional[2019-07-25T07:07:49.393Z]
進程積計運行時間:Optional[PT0.03125S]
程序退出

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM