• 締切済み

Windows コマンドラインでの プロセスとサービスの一覧取得

PCの管理を目的として、標題の件を実現させたいと考えております。 □プロセス tasklistコマンドを実行します。 但し、下記の形式で表示され、プロセス名以外も取得できてしまいます。プロセス名のみ取得するには、どのようにすればいいでしょうか。 awk '{ print $0 }' を windowsでできればいいのですが…。 mstsc.exe 5492 Console 0 8,560 K cmd.exe 2080 Console 0 3,072 K tasklist.exe 5940 Console 0 4,508 K □サービス sc query が希望しているものと近いです 取得したいのは、DisplayNameとStateです。grep使えればいいんですが…。 SERVICE_NAME: wscsvc DISPLAY_NAME: Security Center TYPE : 20 WIN32_SHARE_PROCESS STATE : 4 RUNNING 最終的には、一定期間をおいて取得したリストをdiffして、増えたサービス、プロセスを容易に見つけたいと思っています。 取得というか、文字列の整形の話になってしまいましたが、ご存じの方いらっしゃいましたら、よろしくお願いします。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

□プロセス についてのみ。 for /? で表示されるヘルプを参照して,今,見よう見まねで作ったものです。 for /f "skip=3" %i in ('tasklist') do @echo %i

関連するQ&A

  • Windows8.1 プロセスを終了させるコマンド

    windows8.1で、特定プロセスを終了させるコマンドを教えてください。 タスクマネージャーを都度々開かず、 Batch Fileで終了させたいです。(以下のコマンドを使い、プロセス名やID指定しても、反映されません) Windowsで、プロセスを終了するコマンド taskkill Windowsで、プロセス一覧を見るコマンド tasklist 具体的な使用法とオプション taskkillコマンドのオプション:  /im ・・・プロセス名を指定  /pid ・・・プロセスIDを指定  /f  ・・・強制終了 IE(Internet Explorer)を終了したい場合: C:\> taskkill /im iexplore.exe /f プロセスID(1234)を終了したい場合: C:\> taskkill /pid 1234 /f 例) [D:\0\notepad.exeを終了させるコマンド]は、どの様に記述すれば反映されますか?

  • プロセスの情報取得

    vb.netで開発しています。 あるexe(仮にwatch_p.exeとします)のプロセスの情報(CPU時間)を取得し、一定時間以上(30分以上)だった場合強制終了するプログラムを作成しようとしています。 以下のようにCPU時間の取得する方法までは見えていますが、取得した 時間を比較する方法が見えていません。 忙しいことと思いますが、回答をお願いします。 Dim ps As System.Diagnostics.Process() = _ System.Diagnostics.Process.GetProcesses() '配列から1つずつ取り出す Dim p As System.Diagnostics.Process For Each p In ps Try If p.ProcessName="watch_p" then '合計プロセッサ時間 Console.WriteLine(p.TotalProcessorTime) End if Catch End Try Next p

  • プロセス一覧にウイルス

    プロセス一覧にウイルス 細かい事は全く判らないのですが、感染後外部に通信を行うようなタイプのウイルスは その通信を行うため必ずどこかで何らかの実行ファイルが動いているのですよね? それってタスクマネージャのプロセス一覧の「ユーザー」名で表示されるものですか? 有料版Avira AntiVir、Spybot-S&Dなどを使用しておりますが、未知ウイルスも多いそうで もし検査に引っ掛からず感染してしまった場合、タスクマネージャでウイルスのプロセスが 見えるならまだ対応のしようがあるのかなと思いました。 しかしそのプロセスがsvchost.exeのような名前に偽装されたとしても 「現ユーザ」名で出てくれるなら一目瞭然なのですが svchost.exeが幾つも並ぶ「all users」欄に表示されると正規の物と区別が付かず 「サービス」の項目などは何が何やらさっぱり判りません。 アンチウイルスソフトの次のチェックとして タスクマネジャでのウイルスの見分け方が少しでも判ればと思っているのですが 何かありますでしょうか?

  • Java 特定プロセス名前取得方法について

    Java 特定プロセス名前取得方法について こんにちわ。 昨日に引続きまた質問させてください。 Javaで特定のプロセス名(OpenOfficeのプロセス名:soffice.exeだったかな?)を取得したいのですが、何か良い方法は無いでしょうか? 環境 eclipse3.5 jdk1.5 jooconverter.jar openoffice1.4 やりたいこと ・ExcelからPDFにファイル内容を丸ごと変換(jooconverter.jar、openofficeを使用) ・どうやら、openofficeのコネクタを取得しなければ、変換出来ない為Thrad.sleep()で若干とめてます。 ・その止めるのを毎回ではなく、1日1回若しくはopenofficeが起動していない時だけにしたいのです。 こんな感じでやりたい ~中略~ // プロセス名取得 String pName = …; // openofficeが起動しているかのチェック if (pName.equals("")) {     // openoffice起動     ~中略~ // 処理を一旦停止         Thread.sleep(60000); } // コネクト接続処理 ~中略~ // 変換処理 ~中略~ 補足 何故プロセスIDではないかというと、ネットで調べたら固定ではなく、毎回変動するようなので名前がいいなーと思いました。 もし、変動ではなく固定にすることが出来るなら、IDも可能です。 どなたか分かる方、ご教授頂けましたら幸いです。

    • ベストアンサー
    • Java
  • svchost.exeは複数?

    XP-SP2です。 タスクマジャーのプロセスのイメージ名で svchost.exeが多い時は5個も表示されます。 各ユーザ名は、 LOCAL SERVICE 7552k NETWORK SERVICE 4700k SESTEM 24952k NETWORK SERVICE 3844k SESTEM 4644k 普段は1個?だと思うのですが 只、イメージ名が5個出ている時でもタスクマネージャーの左下のプロセスの数字は36で1個の時も5個の時も変わりません。 それとも私の見間違えで5個は普通ですか? (プロセスのメモリ使用量のをクリックすると順番が変わりますが) ほんのときたま?こんな状態になるのですが 原因というかなんなんでしょうか?

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

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

  • ログイン時に接続があるのですが

    ログイン時すぐに C:\netstat -bv C:\taskilst を実行すると以下のログになります ------------------------------------- C:\netstat -bv Active Connections Proto Local Address Foreign Address State PID TCP home:1027 xxx.xxx.xxx.xx:http TIME_WAIT 0 TCP home:1036 xxx.xxx.xxx.xx:http TIME_WAIT 0 ------------------------------------- IPアドレスxxx.xxx.xxx.xxは大体固定でいくつかのIPアドレスが ローテーションのように(規則性はわかりませんが) いくつかの同じIPアドレスです。 ------------------------------------- C:\tasklist イメージ名         PID セッション名   セッション# ========================= ====== ================ ======== メモリ使用量 ============ System Idle Process 0 Console 0 16 K ------------------------------------- tasklistで PID 0のものはSystem Idle Processになっています。 これはハッキングでしょうか? ワームでしょうか? ウィルスでしょうか? インストールしたアプリからのものでしょうか? どうかよろしくお願いします(><;)

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

    ここ1ヶ月ぐらい以下のメッセージが表示されるようになりました。 「Windowsサービスのホストプロセスは動作しなくたったため、閉じられました」 「問題が発生したため、アプリケーションは正しく動作しなくなりました。解決方法がある場合はWindowsから通知されます。」 発生の契機は不明確ですが2011/7月のある日にWindowsUpdateして以降だと思います。 発生環境: Windows Vista Ultimate SP2(x86 32ビット版) 主記憶2GB、HDD160GB DELL XPS M1210プリインストールモデル。 本現象は、ログインして数分から数時間後に突然メッセージが表示されます。 現象としては色々ありますが、テキストサービスが利用不能になる場合が多いです。 また、タスクバーが白くなり、左端のスタートのアイコンが4重に見えます。 メッセージの表示前後でタスクリストをキャプチャしたところ以下のサービスが終了し再起動されていました。 WMIを含む必要なサービスが再起動していますので、あらゆるサービスに影響がありそうですね。 インターネットが制限された接続になるケースもありました。 イメージ名 PID サービス svchost.exe 4208 AeLookupSvc, BITS, LanmanServer, Schedule,    SessionEnv, ShellHWDetection, Themes,    Winmgmt, wuauserv 暫定の対策は以下の2つです。 (a)ログアウトして再ログインする  これは確実で易しい方法ですが時間が掛かります。 (b)テキストサービスが利用できない部分を復旧する  具体的には、c:\Windows\System32\ctfmon.exeを再起動します。  これで概ねテキストサービスは復旧します。 ダイアログにあるWindowsからの解決策の提示は今のところありません(笑) それにしても、ダイアログの日本語は間違っていますね。 わたしが間違えてタイプしたのではなく、オリジナルが間違っているのですよヾ(--;)ぉぃぉぃ 根本の対策として再インストールというのはありですが、それは期待しておりませんので悪しからず。 ディスクも一杯に近いのでそろそろやると思いますけど、できれば犯人逮捕したいですw

  • PIDからプロセス・アプリを特定する方法

    タスクマネージャーやtasklistでPIDを参照したときに そのPIDからプロセス・アプリを特定する方法がわかりません。 とりあえずイメージ名にexeのファイル名はわかります。 専用のexeの場合にはそれで足りますがJavaアプリの場合にはそれではわかりません。 eclipse立ち上げてJMeter立ち上げてTomcatを複数立ち上げて… などとやっているとjavaw.exeが複数出てきます。 Linuxの場合には起動時の引数を調べることにより何のアプリなのか特定できます。 がWindowsの場合の調べ方がわかりません。 Linuxと同様に起動時の引数を調べられれば十分です。 それ以外の方法でも特定できればうれしいです。 PIDからプロセス・アプリを特定する方法 これを教えてください。よろしくお願いします。

  • Windows

    Windowwsのタスクマネージャで確認すると、Svchosts.exeが複数起動しています。 tasklistなどで調べてみると、svchostsのタスクに複数のサービスがあります。 複数のサービスから、メモリ使用率を高くしているサービス名を特定する方法は、無いでしょうか? また、フリーソフトではあるようなのですが、ソフト導入せずに対処したいと考えています。