プロセスツリーを可視化する pstree

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  http://d.hatena.ne.jp/lurker/20060927/1159329290

  これはいいかも.
  
  オプションが Linux にインストールされているのとは少し違うみたいです.
  PID はオプションをつけなくても表示されています.FreeBSD の ports でインストールされるのも同じもの.

- 出力例

-+= 00000 root sched
 \-+- 00001 root /sbin/init
   |--- 00114 daemon /usr/lib/crypto/kcfd
   |-+- 00486 root /usr/local/apache2/bin/httpd -k start
   | |--- 00646 httpd /usr/local/apache2/bin/httpd -k start
   | |--- 00647 httpd /usr/local/apache2/bin/httpd -k start
   | |--- 00564 httpd /usr/local/apache2/bin/httpd -k start
   | |--- 00563 httpd /usr/local/apache2/bin/httpd -k start
   | |--- 00565 httpd /usr/local/apache2/bin/httpd -k start
   | |--- 00566 httpd /usr/local/apache2/bin/httpd -k start
   | \--- 00567 httpd /usr/local/apache2/bin/httpd -k start
   |-+- 00422 root /usr/local/apache/bin/httpd
   | |--- 00446 httpd /usr/local/apache/bin/httpd
   | |--- 00444 httpd /usr/local/apache/bin/httpd
   | |--- 00445 httpd /usr/local/apache/bin/httpd
   | |--- 00447 httpd /usr/local/apache/bin/httpd
   | \--- 00448 httpd /usr/local/apache/bin/httpd
   |-+- 00328 root /usr/lib/ssh/sshd
   | \-+- 00650 root /usr/lib/ssh/sshd
   |   \-+- 00653 sunaoka /usr/lib/ssh/sshd
   |     \-+- 00655 sunaoka -zsh
   |       |--- 00826 sunaoka vim /home/sunaoka/ChangeLog
   |       \-+- 00827 sunaoka pstree -U
   |         \-+- 00828 sunaoka sh -c ps -ef
   |           \--- 00829 sunaoka ps -ef
   |--- 00333 smmsp /usr/lib/sendmail -Ac -q15m
   |-+- 00492 root /bin/sh /usr/local/mysql/3.23/bin/safe_mysqld --log --datadi
   | \--- 00556 mysqld /usr/local/mysql/3.23/libexec/mysqld --basedir=/usr/loca
   \-+- 00510 root /bin/sh /usr/local/mysql/4.1/bin/mysqld_safe --log --datadir
     \--- 00555 mysqld /usr/local/mysql/4.1/libexec/mysqld --basedir=/usr/local

- インストール

$ wget ftp://ftp.thp.uni-duisburg.de/pub/source/pstree-2.27.tar.gz
$ mkdir pstree-2.27
$ tar -zxvf pstree-2.27.tar.gz -C pstree-2.27
$ cd pstree-2.27
$ gcc -O2 -o pstree pstree.c
# cp -p pstree /usr/local/bin

タグ: [Solaris][FreeBSD]

Web 2.0 ツールのつかいかた - まだ、Google だけですか?

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4774129089
  amazon.co.jp 詳細ページへ
  野本 幹彦(著), 梅田 望夫(著), 小飼 弾(著)
  技術評論社
  ISBN: 4774129089
  2006/10/6
  1,344 円

タグ: [Books][Google]

オープンソースの DB モデリングツール DB Designer 4 の日本語化

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  http://dbdesigner.iimp.jp/

  すばらしいです.DB Designer 4 の日本語化.
  メニューやオプション画面などが日本語化されています.

  また,HTML Report プラグインの不具合も fix されています.

  DB Designer
  DB Designer

  上書きしても,日本語化できない場合は,上記サイトにあるように

C:\Documents and Settings\<USERNAME>\Application Data\DBDesigner4

  の中身を全部削除すればいいけど,設定したオプションが消えてしまう予感がするので,

DBDesigner4_Translations.ini
DBDesigner4_Translations.txt
Language.ini

  だけを消しても OK でした.

- ref.: DBDesigner の HTMLReport
  http://www.siwa32.com/article100


- via: オレンジニュース
  http://secure.ddo.jp/~kaku/tdiary/20060927.html#p05

タグ: [MySQL]

超・極める! MySQL

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4798112135
  amazon.co.jp 詳細ページへ
  坂井 恵 (著), 志村 和彦 (著), ひろせ まさあき (著), 松信 嘉範 (著)
  翔泳社
  ISBN: 4798112135
  2006/10/4
  1,995 円

  よさげ

タグ: [Books][MySQL]

zsh で function definition file not found

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  zsh で vim を使ってファイル名を補完しようとしたら,以下のようなエラーが出た.

_arguments:340: _vim_files: function definition file not found

  調べたけど良く分からなかったので,なんとなく ~/.zcompdump を消してログインしなおしたら直ったっぽい.
  いったいなんだったんだろうか.

実践 Ajax ― Web 2.0 アプリケーション開発への手引き

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4873113016
  amazon.co.jp 詳細ページへ
  Justin Gehtland (著), Ben Galbraith (著), Dion Almaer (著), 宮川 達彦 (監修), 加藤 慶彦 (翻訳)
  オライリー・ジャパン
  ISBN: 4873113016
  2006/10/5
  2,940 円

タグ: [Books][Ajax]

Perl ベストプラクティス

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4873113008
  amazon.co.jp 詳細ページへ
  Damian Conway (著)
  オライリー・ジャパン
  ISBN: 4873113008
  2006/8/24
  4,515 円

- via: たつをの ChangeLog
  http://nais.to/~yto/clog/2006-09-18-5.html

タグ: [Books][Perl]

グーグル・アマゾン化する社会

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4334033695
  amazon.co.jp 詳細ページへ
  森 健
  光文社
  ISBN: 4334033695
  2006/9/15
  735 円

- via: 404 Blog Not Found
  http://blog.livedoor.jp/dankogai/archives/50633023.html

タグ: [Books][Google]

都道府県を扱う Perl モジュール Geography::JapanesePrefectures を PHP に移植してみた

comments(32) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

<?php
class Geography_JapanesePrefectures
{
    var $_prefectures = array(
        array('id' => 1,  'name' => '北海道',   'region' => '北海道'),
        array('id' => 2,  'name' => '青森県',   'region' =>   '東北'),
        array('id' => 3,  'name' => '岩手県',   'region' =>   '東北'),
        array('id' => 4,  'name' => '宮城県',   'region' =>   '東北'),
        array('id' => 5,  'name' => '秋田県',   'region' =>   '東北'),
        array('id' => 6,  'name' => '山形県',   'region' =>   '東北'),
        array('id' => 7,  'name' => '福島県',   'region' =>   '東北'),
        array('id' => 8,  'name' => '茨城県',   'region' =>   '関東'),
        array('id' => 9,  'name' => '栃木県',   'region' =>   '関東'),
        array('id' => 10, 'name' => '群馬県',   'region' =>   '関東'),
        array('id' => 11, 'name' => '埼玉県',   'region' =>   '関東'),
        array('id' => 12, 'name' => '千葉県',   'region' =>   '関東'),
        array('id' => 13, 'name' => '東京都',   'region' =>   '関東'),
        array('id' => 14, 'name' => '神奈川県', 'region' =>   '関東'),
        array('id' => 15, 'name' => '新潟県',   'region' =>   '信越'),
        array('id' => 16, 'name' => '富山県',   'region' =>   '北陸'),
        array('id' => 17, 'name' => '石川県',   'region' =>   '北陸'),
        array('id' => 18, 'name' => '福井県',   'region' =>   '北陸'),
        array('id' => 19, 'name' => '山梨県',   'region' =>   '関東'), // 信越の場合も
        array('id' => 20, 'name' => '長野県',   'region' =>   '信越'),
        array('id' => 21, 'name' => '岐阜県',   'region' =>   '東海'),
        array('id' => 22, 'name' => '静岡県',   'region' =>   '東海'),
        array('id' => 23, 'name' => '愛知県',   'region' =>   '東海'),
        array('id' => 24, 'name' => '三重県',   'region' =>   '東海'), // 近畿の場合も
        array('id' => 25, 'name' => '滋賀県',   'region' =>   '近畿'),
        array('id' => 26, 'name' => '京都府',   'region' =>   '近畿'),
        array('id' => 27, 'name' => '大阪府',   'region' =>   '近畿'),
        array('id' => 28, 'name' => '兵庫県',   'region' =>   '近畿'),
        array('id' => 29, 'name' => '奈良県',   'region' =>   '近畿'),
        array('id' => 30, 'name' => '和歌山県', 'region' =>   '近畿'),
        array('id' => 31, 'name' => '鳥取県',   'region' =>   '中国'),
        array('id' => 32, 'name' => '島根県',   'region' =>   '中国'),
        array('id' => 33, 'name' => '岡山県',   'region' =>   '中国'),
        array('id' => 34, 'name' => '広島県',   'region' =>   '中国'),
        array('id' => 35, 'name' => '山口県',   'region' =>   '中国'),
        array('id' => 36, 'name' => '徳島県',   'region' =>   '四国'),
        array('id' => 37, 'name' => '香川県',   'region' =>   '四国'),
        array('id' => 38, 'name' => '愛媛県',   'region' =>   '四国'),
        array('id' => 39, 'name' => '高知県',   'region' =>   '四国'),
        array('id' => 40, 'name' => '福岡県',   'region' =>   '九州'),
        array('id' => 41, 'name' => '佐賀県',   'region' =>   '九州'),
        array('id' => 42, 'name' => '長崎県',   'region' =>   '九州'),
        array('id' => 43, 'name' => '熊本県',   'region' =>   '九州'),
        array('id' => 44, 'name' => '大分県',   'region' =>   '九州'),
        array('id' => 45, 'name' => '宮崎県',   'region' =>   '九州'),
        array('id' => 46, 'name' => '鹿児島県', 'region' =>   '九州'),
        array('id' => 47, 'name' => '沖縄県',   'region' =>   '沖縄'),
    );

    function prefectures()
    {
        return array_map(create_function('$p', 'return $p["name"];'), $this->_prefectures);
    }

    function regions()
    {
        return array_merge(array_unique(array_map(create_function('$p', 'return $p["region"];'), $this->_prefectures)));
    }

    function prefectures_in($region)
    {
        $pref = array_filter($this->_prefectures, create_function('$p', "return (\$p['region'] == '$region');"));
        return array_merge(array_map(create_function('$p', 'return $p["name"];'), $pref));
    }

    function prefectures_id($prefecture)
    {
        foreach ($this->_prefectures as $pref) {
            if ($pref['name'] == $prefecture) {
                return $pref['id'];
            }
        }
    }
}
?>


- 使い方

<?php
require_once 'Geography_JapanesePrefectures.php';

$geo = new Geography_JapanesePrefectures;
print_r($geo->prefectures());
// -> array(北海道, 青森県, 岩手県, ..., 鹿児島県, 沖縄県)

print_r($geo->regions());
// -> array(北海道, 東北, 関東, ..., 九州, 沖縄)

print_r($geo->prefectures_in('関東'));
// -> array(茨城県, 栃木県, 群馬県, 埼玉県, 千葉県, 東京都, 神奈川県, 山梨県)

print_r($geo->prefectures_id('東京都'));
// -> 13
?>


  山梨県は関東なのかとか,三重県は東海なのかだとかこの辺りはいろいろあるらしいけど,オリジナルに合わせてあります.
  全体的に create_function() 使いすぎてキモイことになっていまが,あまり気にしないでください.
  特に,prefectures_in() のキモさはどうにかしたいところであります.

- Geography::JapanesePrefectures
  http://search.cpan.org/~tokuhirom/Geography-JapanesePrefectures/lib/Geogra ...

- via: オレンジニュース
  http://secure.ddo.jp/~kaku/tdiary/20060915.html#p09

タグ: [PHP][Perl]

Firefox の Flash Player をアップデートする方法

comments(0) | trackback(1)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  Flash Player にセキュリティーホールが見つかったとのことで,Flash Player をアップデートしようとしました.

- Adobe Flash Player ダウンロードセンター
  http://www.adobe.com/go/getflashplayer_jp

  ところが,Firefox ではこのアップデートを適用しても Flash Player のバージョンが古いままのときがあります.
  その際は,<Firefox をインストールしたディレクトリ>\plugins の中にある

flashplayer.xpt
GetFlash.exe (ない場合も)
GetFlash.exe.manifest (ない場合も)
NPSWF32.dll
NPSWF32_FlashUtil.exe (ない場合も)

  を削除して,例えば以下ののページにアクセスします.

- Macromedia Flash Player
  http://www.adobe.com/jp/products/flash/about/

  ここで,プラグインのダウンロードを促されますので,そのままインストールします.

  プラグイン検索サービス

  そうすると無事に,最新版にアップデートされます.

  Flash Player

タグ: [Firefox][Security]

 まるごとPerl! Vol.1

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4844322893
  amazon.co.jp 詳細ページへ
  小飼 弾
  インプレスコミュニケーションズ
  ISBN: 4844322893
  2006/8/24
  1,995 円

タグ: [Books]

 WEB+DB PRESS Vol.34

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4774128694
  amazon.co.jp 詳細ページへ
  WEB+DB PRESS編集部
  技術評論社
  ISBN: 4774128694
  2006/8/24
  1,554 円

  買うのを忘れていた.

タグ: [Books]

NewsMonster はインストールしてはいけない

comments(3) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  XUL な RSS リーダ NewsMonster が良さそうだったのでインストールしてみました.

- NewsMonster RSS News Aggregator - with style!
  http://www.newsmonster.org/

  意気揚々と Firefox をリスタートさせると,あらびっくり.
  画面が以下のようになってしまいました.
  縦に長く伸びているボタンみたいなのがタブで,下のほうに少しだけ表示されているのがブラウズ部分です.

  

  むむむ,ということで,アンインストールしようとして,もう一度びっくり.
  拡張機能からアンインストールできません.拡張機能にもリストされていませんでした.

  若干あせりつつ,Web でいろいろ検索して見たのですがあまり情報が見当たりません.
  参考になりそうなのが,以下のサイト.

- Buzzurro: Firefox users, never EVER install NewsMonster !
  http://buzzurro.blogspot.com/2005/09/firefox-users-never-ever-install.html

  こことは若干やり方は違うのですが,NewsMonster のアンインストールの方法を書いておきます.
  Firefox 1.5.0.6 で試しました.また,<Firefox> は Firefox がインストールされたディレクトリを指します.

1. Firefox を終了する

2. C:\newsmonster を削除する

3. <Firefox>\chrome\newsmonster.jar を削除する

4. <Firefox>\components にある以下のファイルを削除する.

   newsmonster-service.js
   newsmonster-rdf-datasources.js
   newsmonster-lib.jar
   commons-httpclient.jar
   jdom.jar
   panther.jar
   pxalan.jar
   pxercesImpl.jar
   pxsltc.jar
   regexp.jar
   reptile.jar
   runtime.jar
   talon.jar
   xml-apis.jar

5. <Firefox>\chrome\installed-chrome.txt から newsmonster がある行を削除する

6. <Firefox>\chrome\app-chrome.manifest から newsmonster がある行を削除する


  以上で,NewsMonster のアンインストールが完了します.

  Firefox 1.5 では NewsMonster はインストールしないほうがいいような気がします.
  期待していただけにちょっと残念ですが……

  XUL ベースで 3 ペインな RSS リーダー,なにかいいの知りません?

タグ: [Firefox]

半落ち

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  4062114399
  amazon.co.jp 詳細ページへ
  横山 秀夫
  講談社
  ISBN: 4062114399
  2002/09
  1,785 円

「妻を殺しました」。現職警察官・梶聡一郎が、アルツハイマーを患う妻を殺害し自首してきた。
動機も経過も素直に明かす梶だが、殺害から自首までの二日間の行動だけは頑として語ろうとしない。
梶が完全に“落ち”ないのはなぜなのか、その胸に秘めている想いとは―。

  2004 年に映画として公開されていたらしい.どうりで知らないと思った.

- 映画「半落ち」公式サイト
  http://www2.toei.co.jp/hanochi/

タグ: [Books]

connect を使って簡単に多段 SSH を実現する方法

comments(2) | trackback(2)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  OpenSSH 限定の話になるのかもしれませんが,localhost から remotehost1 を経由して remotehost2 に接続するような
  多段 SSH を実現するには,ポートフォワードを使う方法がありました.

  この話は以前ここでも,話題に上げたことがありました ([2005-01-24-2]).
  もちろんこの方法でも実現できますが,OpenSSH の ProxyCommand を利用することで簡単に多段 SSH が実現できます.


  1. ソース (http://www.meadowy.org/~gotoh/ssh/connect.c) を取得します.

  2. ソースのコメントを参考に connect.c をコンパイルします.うちの環境は Solaris なので,以下のようにしました.

$ gcc -O2 -o connect -lresolv -lsocket -lnsl connect.c

  3. connect コマンドをパスの通ったところにコピーします.
     もしくは後でフルパスで指定するのであれば,適当な所にコピーしておきます.

  4. $HOME/.ssh/config に ProxyCommand の設定をします.

Host remotehost2
    # ここの username は remotehost2 のユーザ名
    User username
    # /usr/local/bin/connect は remotehost1 の connect の場所を指す
    ProxyCommand ssh remotehost1 /usr/local/bin/connect %h %p


  これで,ssh remotehost2 をすれば,remotehost1 を経由して remotehost2 に接続することができます.

  connect は 多段 SSH 以外にも,SOCKS や HTTP プロキシも利用することができますので,
  社内や学内などから外部の SSH サーバに接続する場合に,とても便利だと思います.

- SSH Proxy Command -- connect.c
  http://zippo.taiyo.co.jp/~gotoh/ssh/connect.html

- ref.: 外部の SSH サーバに接続する方法
  http://www.st.ryukoku.ac.jp/services/proxy-ssh.html

- ref.:
  [2005-01-24-2]  SSH でポートフォワード
  [2004-12-19-1]  SSH で多段接続?
  [2004-04-21-13] ファイアウォールを超えて SSH する SSH Proxy Command

- 追記 (2008-04-09)
  connect.c のダウンロード先が変更になっていたので、修正しました。

タグ: [Security]

RSS 配信に FeedBurner を利用することにしました

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

- FeedBurner
  http://www.feedburner.jp/

  RSS の配信を FeedBurner から行うようにしました.

  負荷分散にもなるし,購読状況やアクセス状況,RSS リーダの割合などが分かってなかなか面白いです.

  FeedBurner

  時折 RSS の各エントリの末尾に
  Email this Add to del.icio.us はてなブックマークへ追加
  などのリンクを見かけることはありませんか?
  私が一番最初に見かけたのは otsune さんのところなんですが,これがちょっと羨ましかったりしていました.
  実は,これは FeedBurner の機能です.さあ,ちょっと羨ましくなってきた人,FeedBurner を使ってみてはいかがですか?

Sun SSH では ServerAliveInterval が設定できない件

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  NAT などの影響で一定時間通信がないと ssh 接続が固まったり,切れたりすることがあります.

  この対処法として OpenSSH の場合は,$HOME/.ssh/config などに

Host *
    ServerAliveInterval 60


  のようにして,60 秒ごとに無害なパケットを送信するようにします.

  さて,Solaris 9 あたりからバンドルされている Sun SSH も OpenSSH をベースにしているので,
  ServerAliveInterval が使える……と思ったのですがが,man ssh_config を見てもオプションは出てきませんし,
  実際に設定してみても,

/home/sunaoka/.ssh/config: line 35: Bad configuration option: ServerAliveInterval
/home/sunaoka/.ssh/config: terminating, 1 bad configuration options

  このようにエラーが出て起動できません.strings `which ssh` | grep -i ServerAliveInterval をしてみても,
  表示されませんので多分,実装されていないと思われます.

  対処法として,サーバ側で設定することができるのであれば ClientAliveInterval を sshd_config に設定してあげればいいようです.

ClientAliveInterval 60


  これで 60 秒ごとにサーバから確認用のパケットが送られてきます.
  とりあえず問題は解決したのですが,サーバ側の設定をできない場合は困りますね……

  また,参考までにベースとなった OpenSSH のバージョンを調べてみようとすると,

$ strings `which ssh` | grep OpenSSH
OpenSSH*
OpenSSH_3.6*,OpenSSH_3.7*,OpenSSH_3.8*
OpenSSH_3.2*,OpenSSH_3.3*,OpenSSH_3.4*,OpenSSH_3.5*
OpenSSH_2.*,OpenSSH_3.0*,OpenSSH_3.1*
OpenSSH_2.9p*
OpenSSH_2.5.3*
OpenSSH_2.5.0*,OpenSSH_2.5.1*,OpenSSH_2.5.2*
OpenSSH_2.5.0p1*,OpenSSH_2.5.1p1*
OpenSSH_2.3.*
OpenSSH_2.3.0*
OpenSSH-2.0*,OpenSSH-2.1*,OpenSSH_2.1*,OpenSSH_2.2*

  以上の結果からおそらく OpenSSH 3.8 ではないかと思われます.

タグ: [Solaris][Security]