停止與移除, 工作管理員中的進程程序

今天公司客戶的java系統遇到了一個問題,就是java有一個job在執行系統上的某些資料,但執行的過程一直發生了java job卡在工作管理員無法結束,但也找不出有什麼異常的狀況,討論結果後決定寫一隻可以關掉java.exe的程序,java的程序雖然可以跨平台,但如要處理windows核心的事情,可能需要費一些功夫,所以決定以 .net 的程序來處理,所以這個項目就落在我身上了,雖然都已經弄好了,當然,順便紀錄一下,以後就可以方便找資料。

1.首先需要能有對工作管理員存取能力的命名空間
using System.Diagnostics;

2.使用Process類別可以獲取工作管理員的進程內容
DateTime now = DateTime.Now;
Process[] oProcesses = Process.GetProcessesByName(urProcessName);
foreach ( Process p in oProcesses )  

    TimeSpan ts = now.Subtract(p.StartTime);
    //執行總時間大等於1000秒時就關閉這個進程
    if ( ts.TotalSeconds >= 1000 ) p.Kill();    
}


3.調用Kill方法,將工作管理員的進程程序結束,當然,還有很多Process的方法
可使用,看視情況而定嘍。


4. 完成了,收工...

沒有留言: