
vb.netで開発しています。
あるexe(仮にwatch_p.exeとします)のプロセスの情報(CPU時間)を取得し、一定時間以上(30分以上)だった場合強制終了するプログラムを作成しようとしています。
以下のようにCPU時間の取得する方法までは見えていますが、取得した
時間を比較する方法が見えていません。
忙しいことと思いますが、回答をお願いします。
Dim ps As System.Diagnostics.Process() = _
System.Diagnostics.Process.GetProcesses()
'配列から1つずつ取り出す
Dim p As System.Diagnostics.Process
For Each p In ps
Try
If p.ProcessName="watch_p" then
'合計プロセッサ時間
Console.WriteLine(p.TotalProcessorTime)
End if
Catch
End Try
Next p
No.1ベストアンサー
- 回答日時:
未確認だけど,比較だけなら,
http://msdn2.microsoft.com/en-us/library/system. …
TimeSpanにはop_GreaterThan(>)っていう演算子と
TimeSpan.FromMinutesっていうSharedなメソッドがあるので
If (p.TotalProcessorTime > TimeSpan.FromMinutes(30.0)) Then
End If
・・・
とかでいけると思う
だけれど,気になるのは,For Each で指定される列挙子は変更できないので,これをkillできないかもしれないこと。
(Do Whileあたりで書き換えることになるのかな?
プロセス終了と同時にps.lengthが書き換わったりしそうで怖いので
For to Next云々もちょっと怖いような気がする)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
プロセスIDからウィンドウハ...
-
子プロセスの状態を親プロセス...
-
WSH.Runで待機できません
-
CPU、 マザーボードについて
-
Linuxのchdir(カレントディレク...
-
アプリケーションが終了するま...
-
他のアプリケーションの起動と...
-
GetModuleFileNameでエラーが出...
-
タスクマネージャーのプロセス...
-
Visual C++からpingを実行して...
-
VB.NET 自プログラムのプロセス...
-
sambaのsmbmount使用時のパスワ...
-
スマホ Androidの方、又は機械...
-
popen について
-
C++のプログラムをバックグラウ...
-
AppActivate関数について
-
プロセス終了の検知について
-
起動中の他のプログラム(orプ...
-
プロセスIDの取得方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タスクマネージャーのプロセス...
-
バックグラウンドのプロセスの...
-
プロセスのアタッチ・デタッチ...
-
OSPFでプロセスを分ける意義に...
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
vb.netでEXCEL起動がうまくでき...
-
C#でのbatファイル実行結果取得
-
プロセスIDの取得方法について
-
Linuxでのスレッド間メッセージ...
-
Visual C++からpingを実行して...
-
SendMessageが失敗するときがある
-
IISがフリーズ
-
スティーブ・ジョブズはプログ...
-
c言語でプロセスIDを調べたい
-
特定ユーザーのプロセス情報を...
-
怪しいプロセス教えてください。
-
セマフォとmutexの違いは?
-
Windowsでのfork方法
おすすめ情報