サービスプログラムを強制終了させるには? – プログラミング – Home

サービスプログラムを強制終了させるには...
 
通知
すべてクリア

サービスプログラムを強制終了させるには?


藤木
 藤木
(@藤木)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

VisuialStudi2003 VC7でダイアログベースアプリケーションを作成しました。
動作環境はWindowsXP SP1,SP2です。
このアプリケーションから、サービスプログラムを強制終了させたいのですが
プロセスのハンドルを得るための OpenProcess()が ErrorCode=5:Access is deniedと
なります。
アプリケーションからサービスプロセスの操作をしようとしてエラーになっているよう
ですが、これを回避するすることは可能でしょうか?
タスクマネージャの「プロセスの終了」を行いたいのです。

【何故強制終了させるのか?】
現在使用している1つのサービスに不具合があるようで、サービスは停止しても
プロセスが残る場合があり、この時強制終了を行うためです。

宜しくお願いいたします。


引用解決済
トピックタグ
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

デバッガでアタッチして終了すれば巻き込んで終了できると聞いたことがある。
が、svchost等は複数のサービスを一つのプロセスで提供しているのでこのような
方法を取ると何を巻き込むか分かったものではない。

そもそも一つのプロセスで複数のサービスが動作するため、サービスを終了しても
プロセスが残る事自体は正常。

無理やり終了しても他への被害が比較的少ないのは単体のプロセスで動作す
るプロセスの場合のみ。
…それさえサービスである以上影響が無いとは言えませんが。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

まあ基本的には「セキュリティ的にできてはならない」のだろうな。
ユーザプログラムから自在に任意のサービスを殺せるのであれば
ウィルスソフトがファイアウォールを殺せることになる。

> 現在使用している1つのサービスに不具合があるようで、
自作ならデバッグ汁。よそ様作ならしてもらえ。これで万事解決。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

>サービスプログラムを強制終了させたいのですが
強制終了はやめたほうがいいです。
「サービスプログラム」で直接デバイスドライバー等を利用して
PCのハードを制御している場合があります。
ハードを制御してなくてもOSのシステムに関与している場合もあります。
「強制終了」でなく「サービスプログラム」を作成した方に新たに終了するための
関数等を作ってもらうのがいいと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました