キムラデービーブログ

オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。
<< キドキド川崎ルフロン店 | main | 再来週末(2014/09/07(日)) JPOUGのイベントでMySQLのお話あります。 >>
POSIX環境psコマンド相当のWindowsコマンド
0
    Linuxを含むPOSIX環境での開発では、よくプロセス一覧を取得するのにpsコマンドを使います。
    しかし、Windows環境ではpsコマンドはなく、そのような用途には以下のいずれかを使います。

    [Windowsのビルトインコマンド]

    (1) tasklist
    (2) wmic(WMIのコマンドライン)

    [追加インストールして利用]

    (3) pslist(sysinternalsツール)
    (4) ps(CygwinなどのPOSIX環境互換ツール)

    まぁぶっちゃけ(4)をいれれば、まったく同じように動作するからいいんだけど、ここではそれ以外(笑)の方法をご紹介します。

    (1) tasklist
    [書式]
    TASKLIST [共通オプション] [/M [モジュール] | /SVC | /V] [/FI フィルター] [/FO 形式] [/NH]

    ローカル(またはリモート)のシステムで実行されているプロセスの一覧を表示します。オプションなしでは簡単な形式で全てのプロセスを表示します。細かく表示するには/Vオプションを指定します。
    出力結果を絞り込みたいときにはフィルターを使います。フィルターは「フィルター名 演算子 値」の形で指定します。よく使うのはIMAGENAMEとSERVICESです。前者は実行形式ファイル名を指定し、後者はサービス名を指定します。演算子はeq(等しい), ne(等しく無い)は全てのサービス名に利用でき、具体的な数値で大小比較できるものはgt, lt, ge, leが使えます。

    例えばサービス名MySQLのMySQLサーバのリストを出すには次のように入力します。

    CMD> tasklist /fi "services eq mysql"

    例えば実行形式名mysqld.exeのMySQLサーバのリストを出すには次のように入力します。

    CMD> tasklist /fi "imagename eq mysqld.exe"

    /m モジュール名、をつけると特定のモジュール(exeまたはdll形式)を読み込んだプロセスを表示できます。また/mだけつけると、プロセスが読み込んだモジュールを全部表示します。先ほどのコマンドに/mを追加した結果は次のようになります。

    CMD> tasklist /fi "services eq mysql" /m

    イメージ名 PID モジュール
    ========================= ======== ============================================
    mysqld.exe 2072 ntdll.dll, kernel32.dll, KERNELBASE.dll,
    ADVAPI32.dll, msvcrt.dll, sechost.dll,
    RPCRT4.dll, dbghelp.dll, USER32.dll,
    GDI32.dll, LPK.dll, USP10.dll, WS2_32.dll,
    NSI.dll, IMM32.DLL, MSCTF.dll, NLAapi.dll,
    napinsp.dll, pnrpnsp.dll, wshbth.dll,
    WLIDNSP.DLL, PSAPI.DLL, SHLWAPI.dll,
    mswsock.dll, DNSAPI.dll, winrnr.dll,
    wship6.dll, wshtcpip.dll

     出力結果を別のプログラム等で使うために形式を代えるには/FOを指定します。CSV形式に出力するには/FO CSVを指定します。例えばサービス名がMySQLのプロセスを詳細表示して、それをCSVで書き出すには次のように指定します。

    CMD> tasklist /fi "services eq mysql" /v /fo csv
    "イメージ名","PID","セッション名","セッション#","メモリ使用量","状態","ユーザー名","CPU 時間","ウィンドウ タイトル"
    "mysqld.exe","2072","Services","0","440,756 K","Unknown","NT AUTHORITY¥SYSTEM","0:00:24","N/A"

    上記結果には一行目にヘッダ行がでていますが、/NHを指定するとヘッダ行が出力されません(No Headerの意)



    (2) wmic(WMIのコマンドライン)
     WMI(Windows Management Instrumentation)はWindowsにおけるシステム管理のための共通基盤アーキテクチャでWindows2000以降標準実装されています。wmicはそのコマンドラインツールでWindows XP以降で利用できます。概略は以下の記事が詳しいです。

    WMIとwmicコマンドを使ってシステムを管理する(基本編)

    以下のようにprocess(またはprocess list)を指定するとpsコマンドのようにつらつらと情報がでてきます。

    wmic process

    wmic process list

    ほぼ同じ出力ですが、違いは以下の5項目です。
    wmic process: Caption,CreationClassName, CreationDate, CSCreationClassName,OSCreationClassNameが追加されている。

    出力が多すぎるので、通常はWHERE句で絞ります。条件は"か()でくくります。

    wmic process where "name = 'mysqld.exe'"

    wmic process where (name='mysqld.exe')

    [出力結果]
    Caption CommandLine
    CreationClassName Crea
    tionDate CSCreationClassName CSName Description Executa
    blePath ExecutionState Handle HandleC
    ount InstallDate KernelModeTime MaximumWorkingSetSize MinimumWorkingSetSize
    Name OSCreationClassName OSName
    OtherOperationCount OtherTransferCount PageFaul
    ts PageFileUsage ParentProcessId PeakPageFileUsage PeakVirtualSize PeakWork
    ingSetSize Priority PrivatePageCount ProcessId QuotaNonPagedPoolUsage Quota
    PagedPoolUsage QuotaPeakNonPagedPoolUsage QuotaPeakPagedPoolUsage ReadOperati
    onCount ReadTransferCount SessionId Status TerminationDate ThreadCount Use
    rModeTime VirtualSize WindowsVersion WorkingSetSize WriteOperationCount Wri
    teTransferCount
    mysqld.exe "C:¥Program Files¥MySQL¥MySQL Server 5.6¥bin¥mysqld" --defaults-file
    ="C:¥ProgramData¥MySQL¥MySQL Server 5.6¥my.ini" MySQL56 Win32_Process 2014
    0824111335.866858+540 Win32_ComputerSystem MEIJI-ACER-PC mysqld.exe C:¥Prog
    ram Files¥MySQL¥MySQL Server 5.6¥bin¥mysqld.exe 2036 586
    254281630 1380 200
    mysqld.exe Win32_OperatingSystem Microsoft Windows 7 Home Premium |C:¥Windows
    |¥Device¥Harddisk0¥Partition3 44663 16279920 130467
    458804 572 470524 571183104 456892
    8 469815296 2036 22 123
    39 124 987
    6501397 0 32 247
    261585 571183104 6.1.7601 259022848 1775461 227
    0540

    出力項目も多すぎるので(笑) get 項目名[, 項目名, ....]で絞れる場合は絞りましょう。

    wmic process where (name='mysqld.exe') get name, processid, commandline

    CommandLine
    Name ProcessId
    "C:¥Program Files¥MySQL¥MySQL Server 5.6¥bin¥mysqld" --defaults-file="C:¥Program
    Data¥MySQL¥MySQL Server 5.6¥my.ini" MySQL56 mysqld.exe 2036

    以下の記事が参考になりました。

    LinuxのpsコマンドみたいなWindowsのコマンド(ありの日記)
    WMIC のヒント集(MSDN)

    今日はここまで。次回は(3)について説明します。

    JUGEMテーマ:コンピュータ


    | meijik | 開発環境 | 04:10 | comments(0) | trackbacks(0) | - | - |









    トラックバック機能は終了しました。
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
    << June 2020 >>
    + RECOMMEND
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 (JUGEMレビュー »)

    100人のうちの一人としてミックさんの本を推薦しています。
    + RECOMMEND
    MySQL 5.1 Plugin Development
    MySQL 5.1 Plugin Development (JUGEMレビュー »)
    Andrew Hutchings,Sergei Golubchik
    MySQL 5.1 のプラグインを作るならこれ!
    + RECOMMEND
    AWKを256倍使うための本 (Ascii 256倍)
    AWKを256倍使うための本 (Ascii 256倍) (JUGEMレビュー »)
    志村 拓,鷲北 賢,西村 克信
    ここにきてまさかの復刊。15〜16年前の本ですが、いまでも十分役立ちますよ!!
    + RECOMMEND
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION) (JUGEMレビュー »)
    松信 嘉範
    Linux-DB システム構築の新スタンダード。DB Magazine人気連載、待望の書籍化です!!
    + RECOMMEND
    + RECOMMEND
    超・極める!MySQL
    超・極める!MySQL (JUGEMレビュー »)
    坂井 恵,志村 和彦,ひろせ まさあき,松信 嘉範
    内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。
    + RECOMMEND
    The Root of .NET Framework
    The Root of .NET Framework (JUGEMレビュー »)
    荒井 省三
    .NETの根っこをつかむ、か?
    + RECOMMEND
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド (JUGEMレビュー »)
    奥野 幹也
    これまでにない構築、そして構築後のMySQLのための本。
    + RECOMMEND
    Database Management Systems
    Database Management Systems (JUGEMレビュー »)
    Raghu Ramakrishnan,Johannes Gehrke
    ミックさん連載の参考書籍です。
    + RECOMMEND
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series)
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series) (JUGEMレビュー »)
    W. Richard Stevens,Stephen A. Rago
    必読! といいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE (JUGEMレビュー »)

    DELL SX260の換装用に購入。今はコチラのほうが安いですね。
    + RECOMMEND
    情熱プログラマー ソフトウェア開発者の幸せな生き方
    情熱プログラマー ソフトウェア開発者の幸せな生き方 (JUGEMレビュー »)
    Chad Fowler
    OSC2010神戸に出展されたジュンク堂で買いました。
    + RECOMMEND
    Software Design 総集編 【2000~2009】(DVD付)
    Software Design 総集編 【2000~2009】(DVD付) (JUGEMレビュー »)

    メガトン級の過去記事。売り切れる前にお店に急げ!
    + RECOMMEND
    + RECOMMEND
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2 (JUGEMレビュー »)

    Aspire 1410 HDD換装後、昔のHDDはこれにいれます。
    + RECOMMEND
    + RECOMMEND
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22 (JUGEMレビュー »)

    色違い黒(他に青と白があります): メモリは最大4GBとあるが、がんばれば8GBいけるらしい。
    + RECOMMEND
    Firebird 徹底入門
    Firebird 徹底入門 (JUGEMレビュー »)
    木村 明治,はやし つとむ,坂井 恵
    Firebird日本ユーザ会のはやしさん、そしてMyNAから拝借(?) してきた坂井さんとともに書きました。まだ誰も知らないFirebird 2.5や、いままでドキュメントのなかったツール類についてもソースを確認してとりあげた本です。是非ご活用ください。
    + SELECTED ENTRIES
    + RECENT COMMENTS
    • たまたま「プリントヘッドの種類が違います」エラーから復活@MG6230
      meijik (11/20)
    • [ミュージシャンに聴かせたい・弾かせたい!] (4) 山田元気様
      meijik (07/27)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (03/03)
    • 2019年の木村明治
      田中尚 (01/08)
    • 使い慣れたSQLに潜む実装依存: Firebirdの場合(6) 文字列との結合演算子
      noname (12/10)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 2015年版 InterBaseの歩み
      nakagami (12/06)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (11/22)
    • 分散DB本読書会第46回メモ「STOP AFTER 10」
      masudahidehiko (09/01)
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + MOBILE
    qrcode
    + LINKS
    + PROFILE