• 締切済み

サービスプロセスかどうかを知るには?

Windows(2000、xp)にて立ち上げられたプロセスが 自分自身でサービスとして立ち上げられたプロセスなのか 通常(cmd等)のプロセスとして立ち上げられたかを 知るにはどうすればよいのでしょうか? ユーザーがSYSTEMとか親プロセスを手繰るぐらいしか 思いつかないので、良い方法が有れば 教えて下さい。

みんなの回答

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.4

#3です。 自分の回答に対して補足っぽいものを。 通常のプロセスとサービスのプロセスは造りが違うので、サービスとして自身が登録されているならサービスであると判断できるのではと思い、WNIが使えるとアドバイスさせていただきました。 自分の考え違いだったらすみません。 もしくは、自分自身とサービスとして実行中のプロセスIDを取得し、サービスの中に自身に該当するプロセスがあった場合、判断できるかもしれません。

k3b
質問者

お礼

Kuppycat様 回答有難う御座います。 現在、親のプロセスが「services.exe」なら サービスとして起動したとして判断していますが 教えて頂いた方法の方が良さそうですね。 「サービスの中に自身に該当するプロセスがあった場合」とは どうやって取得すれば良いでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

WMI(Windows Management Instrumentation)コンポーネントがあるのでそれを利用して調べられませんでしょうか。 参考URLサイトのサンプルからサービス関連を参考にしてください。 こちらのサイトはVB6.0で書かれています。

参考URL:
http://www.wmifun.net/sample/
k3b
質問者

お礼

Kuppycat様、回答有難う御座います。 残念ですがWMIではサービスの制御は出来ても 自分がサービスとして立ち上げられたプロセスなのか 通常のプロセスなのかは調べられなさそうです。

全文を見る
すると、全ての回答が全文表示されます。
  • vaio09
  • ベストアンサー率37% (756/2018)
回答No.2

「ファイル名を指定して実行」で「msconfig」とすれば、サービスなのかスタートアップなのか、などが分かります。 システムツール→システム情報 を実行し、ソフトウェア環境のタブ内を見ても、同じような確認が可能です。

全文を見る
すると、全ての回答が全文表示されます。
  • keiwa
  • ベストアンサー率25% (354/1399)
回答No.1

サービスプロセスが自動で立ち上げられたのかを知るには、ファイル名を指定して実行に「services.msc」と入力して「OK」をクリックする。 すると、サービスの一覧と説明「自動」「手動」の表示が出てくる、それをダブルクリックするとプロパティが表示され変更も可能になる。 不要なサービスは「無効」にすれば Windows のスピードも速くなる、「一時停止」をクリックして動作をチェックする事も出来る。

k3b
質問者

お礼

回答有難う御座います。 人が知りたいのではなく プロセスが自分で知りたいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プロセスについて

    Windows タスク マネージャを見たら プロセスのところに svchost.exeが4つありユーザー名にSYSTEM,NETWORK SERVICE,LOCAL SERVICE とあります svchost.exeって何ですか なんか役割ありますか? あとalg.exeも知らないプロセスユーザー名 LOCAL SERVICE これらの2つシステム構成ユーティリティに関係してるかもわからないし あまり知らない物はいじりません 一応システムの設定一通りできますので もしわかる方回答をよろしくおねがいします 環境 NEC VALUESTAR VT1000J6FD Windows XP HOME SP1 メモリ384MB CPU Intel 3 1G です あとXPでメモリ384MBは足りないとおもいますか? 私のパソコンいろんな事に使用してます マルチメディア、MS-オフィス、その他

  • Windows の各種プロセス(サービス)の停止

    Windows(Windows7以降)について質問します。 Windows システムは各種プロセス(サービス)がバックグランドで走っていますが、 これらのプロセス(サービス)を出来るだけ停止して、VC++で作成したAppを 走らせたいと考えています(Appが擬似リアルタイム的な処理のため)。 Q1)このプロセス(サービス)の停止に関しましてコメント頂けますと大変有難いです。 以上、宜しくお願いします。

  • タスクマネージャーのプロセスについて

    XPを使用しています。 タスクマネージャーを開き、プロセスを見ますと、iexplore.exeが2つあり(メモリー使用量はひとつが2,944Kでもうひとつは26,444kです。ユーザー名は自分のもの)、またSVCHOST.EXEは4つあり、そのユーザー名は2つがシステム、あとネットワークサービスとローカルサービスと振り分けられています。 この状態は正常でしょうか。教えてください。

  • windos のサービスとプロセスで 停止しても問題ないものは?

    vista/home XP/Pro の両OSでそれぞれ質問です。 cpuやメモリへ不要な稼働をかけたくないので、 windows稼働上、動作していなくとも問題のない、サービスとプロセスを落としたいと思っています。 該当するものに、どのようなサービス、プロセスがありますか?

  • 不要なプロセスを抹殺したいのですが><

    タスクマネージャーにあるプロセスが、結構あるので、削除したいと思います。 (1)ここで削除しても、パソコンを立ち上げるとまた消したプロセスが実行されるんでしょうか?? (2)消して良いプロセスと消したら危険そうなプロセスの区別が付きません。どういう判断で消したら良いかの判別をすれば良いでしょうか?? (3)プロセスの中で、『イメージ名』は全部バラバラですが、『ユーザー名』はる程度まとまっているので、この『ユーザー名』の一覧で不要な分野は消してもいいのでしょうか? ……ユーザー名一覧 ・Owner ・SYSTEM ・LOCAL SERVICE ・NETWORK SERVICE …このうち一斉に消して良い物はありますか?教えて下さい。

  • Windowsサービスのホストプロセスは動作しなくなった

    Windowsビスタが立ち上がるとの、「Windowsサービスのホストプロセスは動作しなくなったため閉じられました。」のメッセージが出ます。 Upgradeを実行しますとエラーコード 800706BAが出ます。 最近ウイルスセキュリティ0を入れてから、出るようになったのかなと思っったりします。  システムの復元もできません。 修正の方法をお教えください。  

  • Perlのプロセス

    Windowsでホームページを公開しています。 ActiveState Perl5.8.7 Apache 2.0.54 (Win) サービスでApacheを停止してもタスクマネージャーを見ると perlのプロセスが4つほどあり、DocumentRootのフォルダを削除しようとしても できません。通常Apacheの管理下なので、サービスを止めると、 ファイルの書き換えは出来ると思いますが、パールのprocessが残っているせいか 入れ替えができません。Windowsを再起動すれば良いかもしれませんが ファイルの入れ替えごとに再起動は苦痛なので、PerlのプロセスをKILLできる方法が 知りたいです。TASKMGR.EXEで殺すことはできませんでした。 いつまでもperlのプロセスが残るので、何かソフトか対策はあるのでしょうか? 後、予断ですが Windowsでサーバー立てるのは危険でしょうか?

    • ベストアンサー
    • Perl
  • プロセスを完全に削除するには?

    自分の力では解決できそうもないので、どうか知恵をお貸し下さい。 数日前からPCの動作が鈍くなり頻繁に固まってしまうようになりました。 タスクマネージャ→プロセスを確認してみると、イメージ名『cmd64.exe』がほぼ100%を占めていることがわかりました。 「プロセスの終了」をしても問題なさそうなので、今は起動するたび「プロセスの終了」でやり過ごしてますが、やはり不便を感じることが多々あるので(不在時、電源オフ状態からTV録画したい等)、このプロセスを再起動しても復活しないように完全に削除したいのです。 ちなみにmsconfigをみてみましたが、『cmd64.exe』は見当たりませんでした。 どんな些細なことでもかまいません。他に方法はありませんでしょうか? どうか力を貸してください。宜しくお願いいたします。

  • アプリケーションとプロセスとサービスの対応関係

      プロセスとサービスの対応関係を知る方法 タスクマネージャで表示される実行中のアプリケーション、実行中のプロセス、実行中のサービスについて、どのアプリケーションがどのプロセスとどのサービスを実行しているのか、アプリケーションとプロセスとサービスの対応関係を知る方法はありますか。  

  • SYSTEM権限でプロセス機動

    いつもお世話になっております。 ただ今仕事で業務アプリを開発しているのですが、題記の件で立ち往生しております。 有識者の方がいらっしゃいましたら、ご教授いただければ幸いです。 【やりたいこと】 Windows2000Server,及びWindowsServer2003上でアプリを実装したときに、 ログオフでアプリケーションを殺さないようにする。 【経緯】 WindowsServer2008対応にて、今までセッション0でダイアログ表示を 行っていたアプリをユーザセッションに表示するように変更しました。 その際にUIを行うプロセスを新たに起動(CreateProcessAuUser()を用いて) するようにしたのですが、このUIを起動するとログインユーザ(Administrator権限) になってしまいます。 タスクマネージャ上でユーザがSYSTEMになっているプロセスは ログオフ後にログインしなおすとそのままアプリが残っているのに対し、 UIプロセスはWindowsによって異常終了してしまいます。 このことから、SYSTEM権限でプロセスを起動すれば良いのではないか? っと考えたのですが、はたして可能なのでしょうか? ・サービスプログラムからの起動 ・ATコマンドを使用して起動 ・スクリプト起動?(すいません、これはイマイチ分かっていません) 上記の場合にはSYSTEMになるということはわかったのですが、 SYSTEMで起動しているプロセスから起動することは可能なのでしょうか。 もし可能な場合どのように起動すればよいのかを教えていただきたく、よろしくお願いいたします。 尚、WindowsServer2008上ではプロセスが死ぬことは仕様としてあるのですが、 過去バージョンと同等機能(ログオフしてもプロセスが生きている)を維持しなくてはならないため、 本件のような仕様になっています。 どうぞよろしくお願いいたします。