- - PR -
リモートプロセスの終了
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-04 16:05
Windows Server 2003 R2 で動作しているプロセスの起動・停止を
ネットワークにつないだ別のPC(Windows XP)から行おうとしています。 taskkill や WMI の Win32_Process クラスの Terminate メソッドを 使って停止した場合、プロセスが強制終了されてしまいますが、 通常の終了(クローズボタンをクリックしたときのように)することは できないのでしょうか。 サーバー上で taskkill /FI "Imagename eq notepad.exe" を実行するバッチファイルを作成し、リモートマシンからこのバッチを起動 する方法を考えたのですが、サーバー上で動かすと確かに通常終了するのに、 リモートPCから動かした場合はnotepad.exeは終了しませんでした。 バッチファイルに /f オプションをつけて強制終了にすると終了します。 何かいい方法はないでしょうか。 |
|
投稿日時: 2008-02-04 23:06
Sample は window (GUI) application のようですから、この場合にはその main window に対して WM_CLOSE window message を送信するのが正しい作法ですね。
ただし、今回の場合 remote process とのことなので、簡単にはいかないですね。 対象の application を変更することが可能であれば、Windows service や COM+ server とか remote からでも簡単に制御できるしくみをもつものに変えてやるのが正攻法だと思います。 _________________ |
|
投稿日時: 2008-02-05 12:10
やはり簡単に対応する方法はないですかね。
ご指摘のように、アプリケーションの作りを変えて、リモートから制御できるような方向で考えようと思います。ありがとうございました。 |
|
投稿日時: 2008-02-05 13:31
sc.exeはリモートでサービスを制御するコマンドですが、サーバでサービスを作成しリモートから制御するのはいかがですか?
|
1