- PR -

リモートプロセスの終了

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/11/06
投稿数: 2
投稿日時: 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 オプションをつけて強制終了にすると終了します。

何かいい方法はないでしょうか。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-02-04 23:06
Sample は window (GUI) application のようですから、この場合にはその main window に対して WM_CLOSE window message を送信するのが正しい作法ですね。

ただし、今回の場合 remote process とのことなので、簡単にはいかないですね。

対象の application を変更することが可能であれば、Windows service や COM+ server とか remote からでも簡単に制御できるしくみをもつものに変えてやるのが正攻法だと思います。
_________________
未記入
会議室デビュー日: 2006/11/06
投稿数: 2
投稿日時: 2008-02-05 12:10
やはり簡単に対応する方法はないですかね。
ご指摘のように、アプリケーションの作りを変えて、リモートから制御できるような方向で考えようと思います。ありがとうございました。
t-kingyo
会議室デビュー日: 2006/05/30
投稿数: 8
投稿日時: 2008-02-05 13:31
sc.exeはリモートでサービスを制御するコマンドですが、サーバでサービスを作成しリモートから制御するのはいかがですか?
1

スキルアップ/キャリアアップ(JOB@IT)