- 締切済み
サービスプロセスかどうかを知るには?
Windows(2000、xp)にて立ち上げられたプロセスが 自分自身でサービスとして立ち上げられたプロセスなのか 通常(cmd等)のプロセスとして立ち上げられたかを 知るにはどうすればよいのでしょうか? ユーザーがSYSTEMとか親プロセスを手繰るぐらいしか 思いつかないので、良い方法が有れば 教えて下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Kuppycat
- ベストアンサー率50% (109/216)
#3です。 自分の回答に対して補足っぽいものを。 通常のプロセスとサービスのプロセスは造りが違うので、サービスとして自身が登録されているならサービスであると判断できるのではと思い、WNIが使えるとアドバイスさせていただきました。 自分の考え違いだったらすみません。 もしくは、自分自身とサービスとして実行中のプロセスIDを取得し、サービスの中に自身に該当するプロセスがあった場合、判断できるかもしれません。
- Kuppycat
- ベストアンサー率50% (109/216)
WMI(Windows Management Instrumentation)コンポーネントがあるのでそれを利用して調べられませんでしょうか。 参考URLサイトのサンプルからサービス関連を参考にしてください。 こちらのサイトはVB6.0で書かれています。
お礼
Kuppycat様、回答有難う御座います。 残念ですがWMIではサービスの制御は出来ても 自分がサービスとして立ち上げられたプロセスなのか 通常のプロセスなのかは調べられなさそうです。
- vaio09
- ベストアンサー率37% (756/2018)
「ファイル名を指定して実行」で「msconfig」とすれば、サービスなのかスタートアップなのか、などが分かります。 システムツール→システム情報 を実行し、ソフトウェア環境のタブ内を見ても、同じような確認が可能です。
- keiwa
- ベストアンサー率25% (354/1399)
サービスプロセスが自動で立ち上げられたのかを知るには、ファイル名を指定して実行に「services.msc」と入力して「OK」をクリックする。 すると、サービスの一覧と説明「自動」「手動」の表示が出てくる、それをダブルクリックするとプロパティが表示され変更も可能になる。 不要なサービスは「無効」にすれば Windows のスピードも速くなる、「一時停止」をクリックして動作をチェックする事も出来る。
お礼
回答有難う御座います。 人が知りたいのではなく プロセスが自分で知りたいのです。
お礼
Kuppycat様 回答有難う御座います。 現在、親のプロセスが「services.exe」なら サービスとして起動したとして判断していますが 教えて頂いた方法の方が良さそうですね。 「サービスの中に自身に該当するプロセスがあった場合」とは どうやって取得すれば良いでしょうか?