- - PR -
プロセス名とユーザー名
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-09-15 17:47
いつもお世話になっております。
現在、Windowsサーバー上で 30分以上残っているいらないEXCELプロセスを切る バッチ処理を作成しています。 プロセス名とstart時間を拾うことは出来たのですが、 ユーザー名を拾うことが出来ません。 また、バッチ処理をと考えていたのですが Processコンポーネントを画面に貼り付けないと いけないので、WindowsFormを作成し Page_Loadイベントでプロセスを切る処理を行い 最後にMybase.closeとしております。 ユーザー名を拾う方法と Processコンポーネントを画面に貼り付けずとも Localコンピュータのプロセスを全てひらう事ができる 方法をご存知の方情報をいただけたら幸いと思っております。 ちなみに現在のソースは以下の通りです。 まだ、30分以上立っているかどうかの判断は入れておりません。 Dim myProcesses() As Diagnostics.Process Dim myProcess As Diagnostics.Process myProcesses = Process.GetProcesses() ' Iterate through the process array. For Each myProcess In myProcesses MsgBox(myProcess.ProcessName) MsgBox(myProcess.StartTime) If myProcess.ProcessName = "EXCEL" Then If MsgBox(myProcess.StartTime, MsgBoxStyle.OKCancel) = MsgBoxResult.OK Then myProcess.Kill() End If End If Next Mybase.Close() | ||||
|
投稿日時: 2003-09-15 18:24
> Processコンポーネントを画面に貼り付けずとも
myProcesses = System.Diagnostics.Process.GetProcesses でどうでしょう? > ユーザー名を拾う方法と こちらは、探してみましたが見つかりませんでした。 | ||||
|
投稿日時: 2003-09-16 08:50
こんにちは。
これって、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6310&forum=7&0
これの対応、っていうことですか? 処理内容がわからないのですが、Webアプリケーションのクライアントサイドもサーバサイドも、どちらも相手がどうなっていようと自分自身の処理は完了させる、ように作らなければならないのではないでしょうか。エクセル処理はサーバサイドで行われていると思いますが、クライアントが途中で終了しても、サーバの処理は動作し続けているはずです。クライアントがタイムアウトしてしまうような処理をさせても、サーバ側で書き込んでいるデータベースの内容が更新され続けているので、そうであると判断しています。このことから、サーバ側の解放処理に不備があると思うのですが、如何でしょうか。 | ||||
|
投稿日時: 2003-09-16 09:12
なな様ありがとうございます。
WindowsXPの[タスクマネージャ]-[プロセス]で拾えていたので プログラム側でも拾えると思い、 いろいろなページを見て調査をしましたが どこにも掲載されておりませんでした。 どなたか、見つけられましたらお教えください。 また、別途対応案としては、 今回は、 WindowsXPでは、コマンドプロンプトから実行できる TASKKILLがありましたので Windows2003Serverについているかどうかを調査したいと思います。 _________________ | ||||
|
投稿日時: 2003-09-16 12:26
> TASKKILLがありましたので
> Windows2003Serverについているかどうかを調査したいと思います。 ありましたよ。 |
1