2013年4月29日月曜日

検索PATH LINUX

検索PATH LINUXとかPERLでPATH通しておくといいよ

とか本に書いてあるが、良くわからない。

たぶん環境変数のPATHのことだとは想像つくのだが。



/home/(USR)/perl

というディレクトリでよくPERLの作業をしますという場合。


そのマシンで。printenvと打つと


参考URL:
http://pocketstudio.jp/linux/?%A5%D1%A5%B9(PATH)%A4%CE%B3%CE%C7%A7%A4%C8%C0%DF%C4%EA%CA%FD%CB%A1%A4%CF%A1%A9
参考URL:
https://www.google.co.jp/search?q=%E6%A4%9C%E7%B4%A2PATH%E3%80%80LINUX&aq=f&oq=%E6%A4%9C%E7%B4%A2PATH%E3%80%80LINUX&aqs=chrome.0.57j62l3.17168j0&sourceid=chrome&ie=UTF-8

echo $PATH
env | grep PATH
でもいいらしい。
printenv |grep PATH
でもいいかも。。


$ PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/maint01/bin

ってなっている。

順番どおり読み込むというから。

PATH=$PATH:/home/(USR)/perltest

と追加して、



export PATH

と追加PATHを有効にしてみる。




$ printenv |grep PATH
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/maint01/bin
$ PATH=$PATH:/home/maint01/perltest/
$ export PATH
$ printenv |grep PATH

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/maint01/bin:/home/maint01/perltest/
[maint01@cent-test01 perltest]$


おお!追加されている。


こんでいいのか。。

でも疑問、順番入れ替えはどうやる。
参考URL:
http://d.hatena.ne.jp/kakurasan/20070707/p2
最後に追加するのが基本で、加筆はUSERの.bashrcに加筆するのがお約束らしい。


追記:あまい!

  上記の対応だと、そのユーザが、そのユーザにてログイン中のみ有効で、
  再起動で無効となります。
  つまり次回起動すると無効に。。。

  これを恒久対応するには、(あくまでそのユーザで入るという前提の場合)
  .basshrcというファイルに記述するといいらしい。。
$cd
$vi .bashrc



PATH=$PATH:/home/(USR)/perltest
export PATH

これでSSHを抜けて再度ログイン。

  • PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/(Usr)/perltest:/home/maint01/bin


ついかされていました。


でもブログによっては.bashrcでなく.bash_profileじゃないのか、
とか、あとROOTだと無効だろ、とか、対象ユーザでSSHログインしてからユーザ変更した場合と
あと対象ユーザ以外やROOTでログインしてからユーザ変更した場合で
読み込まれるファイルが違う。

というのを経験したような、読んだような。。

ちょっと復習必要かも。

2013年4月28日日曜日

PERL テスト 使い方

わざわざスクリプト言語おぼえることは無いのだが。

テストに有効活用できるぜー!
と高い金はたいて買った本に書いてあったので、
軽くだまされてみた。


PERL テスト 使い方

https://www.google.co.jp/search?q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aq=f&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aqs=chrome.0.57.6811j0&sourceid=chrome&ie=UTF-8#hl=ja&gs_rn=11&gs_ri=psy-ab&tok=5MsBRJ7lphnvaRPDSNnJhg&pq=%EF%BD%90%EF%BD%85%EF%BD%92%EF%BD%8C%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&cp=12&gs_id=41&xhr=t&q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&es_nrs=true&pf=p&safe=off&sclient=psy-ab&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&gs_l=&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45645796,d.dGI&fp=30ea93f1b0b8a66a&biw=1920&bih=951

ワラワラでてくるが。。

ここで危ないのが、ソフトウェアテストの単体テスト以外で。。

という部分と、PERL書きましたが、その文の単体テスト以外で。。

という部分で私は探しているという前提を忘れないということ。

TESTというPERLのモジュールの話が多いな。

PERL ソフトウェアテスト 使い方

https://www.google.co.jp/search?q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aq=f&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aqs=chrome.0.57.6811j0&sourceid=chrome&ie=UTF-8#safe=off&hl=ja&sclient=psy-ab&q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&gs_l=serp.3...304375.311369.1.311893.11.11.0.0.0.1.127.1259.0j11.11.0...0.0...1c.1j4.11.psy-ab.zIfH3GBtyDE&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45645796,d.dGI&fp=30ea93f1b0b8a66a&biw=1920&bih=951

こちらのほうが適切かのー。

XUNIT。。

もろ単体なニオイ・。。

うーん色々中古本そろえたんだけどなー。

無駄だったのかなー。

なんかくやしいから。シコシコ作ってみるか。。

というかお怠けしたいだけなんよね。仕事で。

うーん。

自動化とか立派なもんでなくて、その程度なんだが。


また本こうてもしかたないし。
http://www.amazon.co.jp/%E3%82%82%E3%81%A3%E3%81%A8%E8%87%AA%E5%9C%A8%E3%81%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E4%BD%BF%E3%81%84%E5%80%92%E3%81%99-%E6%A5%AD%E5%8B%99%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4Perl-Software-Design-%EF%BD%90lus/dp/4774150258


PERL ソフトウェアテスト 
https://www.google.co.jp/search?q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aq=f&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%E3%80%80%E4%BD%BF%E3%81%84%E6%96%B9&aqs=chrome.0.57.6811j0&sourceid=chrome&ie=UTF-8#safe=off&hl=ja&sclient=psy-ab&q=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88%E3%80%80&oq=%EF%BC%B0%EF%BC%A5%EF%BC%B2%EF%BC%AC%E3%80%80%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88%E3%80%80&gs_l=serp.3...1190810.1190810.2.1191348.1.1.0.0.0.0.67.67.1.1.0...0.0...1c.1.11.psy-ab.DubKuzfRyjk&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45645796,d.dGI&fp=30ea93f1b0b8a66a&biw=1920&bih=951

直球検索

本3冊も仕込んどいてG先生に頼るのは愚考かも。

2013年4月25日木曜日

ぱるのもじゅるを


CPANからモジュールをひっぱる起動する
PERLでのモジュール取得方法 LINUX
perl -MCPAN -e shell
install LWP::Simple
install File::Basename


  • ★これをACTIVEPERLでやろうとした=>GCCインスコに時間がかかる

PERLでのモジュール取得方法 WINDOWS(ACTIVEPERL)
 ppm install
 ppm install LWP::Simple
 ppm install File::Basename
モジュール 確認 perl
 ppm list --matching LWP::Simple
 ppm list --matching  File::Basename

モジュールよみこみ方法

-------------------------------
★モジュールインスコしようとしたらGCCのコンパイラいれれば?
と勝手にインストール開始の図。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\()>perl -MCPAN -e shell

It looks like you don't have a C compiler and make utility installed.  Trying
to install dmake and the MinGW64 gcc compiler using the Perl Package Manager.
This may take a a few minutes...

Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
Syncing site PPM database with .packlists...done
Downloading MinGW64-4.5.4... 10%
ねる

Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
Syncing site PPM database with .packlists...done
Downloading MinGW64-4.5.4...done
Downloading dmake-4.12.20090907...done
Unpacking MinGW64-4.5.4...done
Unpacking dmake-4.12.20090907...done
Generating HTML for MinGW64-4.5.4...done
Generating HTML for dmake-4.12.20090907...done
Updating files in site area...done
4600 files installed

Please use the `dmake` program to run commands from a Makefile!

Set up gcc environment - gcc.exe (rubenvb-4.5.4) 4.5.4

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.


cpan>
でけたんか?
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\>perl -MCPAN -e shell
Set up gcc environment - gcc.exe (rubenvb-4.5.4) 4.5.4

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.


cpan>
おお!いけた!
で、なんだけっけ。
install LWP::Simple
install File::Basename

............................................................................DONE
cpan>

cpan> install File::Basename
File::Basename is up to date (2.84).


cpan>
-------------------------------
できているのか?
とか

★CPAインストールだとppm確認方法できないみたい
 ppm list --matching LWP::Simple
 ppm list --matching  File::Basename
C:\Users\nabenano> ppm list --matching LWP::Simple
*** no packages installed matching 'LWP::Simple' ***
CPANとは別ものでござると。。

C:\Users\> ppm list --matching  File::Basename
*** no packages installed matching 'File::Basename' ***

うーんLUNUXだとCPAN、ACTIVEPERLだとWINDOWSだとPPMが普通なのかな。情報少ない

CENTで同じことをしてみある。
 perl -v
 perl -MCPAN -e shell
わー!なんかいっぱいでできた。

$ perl -MCPAN -e shell

インストールしてみる
★cpan> install LWP:Simple
★cpan> install File::Basename

★なんかマニュアルでCPANログインすると日本とか選べた、
でもそのサーバではできませんというエラー
その後自動?で次回からログインされてた。初期設定らしい。

★上記記述だと:だと間違い::が正しい

cpan> install LWP::Simple
cpan> install File::Basename

★なんかすげー色々でるがすべてENTERしてもエラー

★その後、一部でNOしたりしながら
Shall I follow them and prepend them to the queue
依存モジュールいれましょうてきな部分らしい。
なんだかわからんうちにはいった。。イカンダロ

★install File::basename小文字だとエラーですだよ

cpan> install File::Basename

★で動いたが、Make had some problems, maybe interrupted? Won't install
途中でとめたんちゃう?イレヘンワ的なメッセージ。。エー!?

うーんなんかうまくいっていないような。

perldoc LWP
perldoc File

LWP::Simple
File::Basename

ACTIVEPERLのほうのLWPでしかそれらしいものはでないなー。
参考URL:
http://getpopfile.org/docs/jp:howtos:allplatformsrequireperl
http://blog.takapra.com/index.php/2012/11/24/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8Bcpan%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%E6%96%B9/
http://blawat2015.no-ip.com/~mieki256/diary/200506042.html
http://www.ksknet.net/perl/perl.html
http://perl-users.jp/articles/advent-calendar/2008/08.html
http://www.windows-maniax.com/kuniteru/iis/oss-install263.html
http://isoya.at.webry.info/200610/article_53.html
http://d.hatena.ne.jp/perlcodesample/20090208/1232890021
http://tech.bayashi.jp/archives/entry/perl/2007/001705.html
http://blogs.yahoo.co.jp/sweet_forests/1188021.html
まだはやかったのかなー。

まーPPMしてみるか

PPMとドス窓で打つと、なんかでた!

パッケージマネージャというやつなんだな。
PPM!
すげー検索窓に入力すると出てくるわ、んで右クリで選択インストールする。
そんで右矢印ボタンでインストール始まる。
★→ボタンを押さないとインストールできないゆ。。
なんだかなー。いちいちパッケージインストールしないといけないって、

便利なんだろうか。便利らしいが。

★あ、CPANでのパッケージインスコはルートでないといけんのね。

そりゃそうだ。

★パッケージだからインストールもうまくいかないときもある。
そんときはCPAN抜けて perl Makefile.PLするといいらしい、

★]$ perl Makefile.PLするとうんなもんねぇ!としかられる。。


★11こです!

2013年4月21日日曜日

メモリリークの確認


テストの本に書かれていたことでメモ


長時間テスト

不正なポインタ、メモリリークの確認するといい。

ブラックボックステスト(ソースコードを見たりとかではない、
いわゆる出来あがったたものとしてソフトを動かすテスト)の前提ですが。

アプリを一晩とか一週間ぶん回して、
きちんと動くことー。

というお題があったとして。

じゃあどうやってそれを確認するの?

基本の機能の動作の確認もありますが、

もう少し事前の兆候とか、ちょっとなー

という部分をサクット確認できたらと思います。



OSが、WINDOWS XP 7ですと

1)タスクマネージャを起動(CTRL+SHIFT+ESCキーを押す)

2)プロセスタブを表示=>列の選択=>ハンドル、スレッドのレ印を有効

3)対象のイメージ名を選択

■図

こんな感じです。


OSがLINUXですと
わからないので調べてみた。


■ps コマンド ハンドル スレッド
参考URL:https://www.google.co.jp/webhp#safe=off&hl=ja&sclient=psy-ab&q=ps%E3%80%80%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%80%80%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89&oq=ps%E3%80%80%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%80%80%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89&gs_l=hp.3...384.8434.0.8877.29.29.0.0.0.3.156.2102.25j4.29.0...0.0...1c.1j4.9.psy-ab.8IA42qRsF-0&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45512109,d.dGI&fp=2029cedacbe31ef4&biw=1920&bih=908

スレッドは

ps -efにmをつけて

ps -efm

でなにやら1プロセスごとに余分になんか出ている。
というかみずらい。。

ps -efL
-------------------------------
ID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
root         1     0     1  0    1 09:42 ?        00:00:00 init [3]

root         2     1     2  0    1 09:42 ?        00:00:00 [migration/0]
root         3     1     3  0    1 09:42 ?        00:00:00 [ksoftirqd/0]
root         4     1     4  0    1 09:42 ?        00:00:00 [watchdog/0]
root         5     1     5  0    1 09:42 ?        00:00:00 [events/0]
root         6     1     6  0    1 09:42 ?        00:00:00 [khelper]
root         7     1     7  0    1 09:42 ?        00:00:00 [kthread]
root        10     7    10  0    1 09:42 ?        00:00:00 [kblockd/0]
root        11
-------------------------------
このNLWPの数がスレッドらしい
参考URL:http://d.hatena.ne.jp/rx7/20101219/p1

ハンドルはちょっとLINUXだと無いらしい

参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1079741145

ファイルディスクリプターかー

/proc/(PID)/fd/(ここ)

[root@cent-test01 maint01]# cd /proc/2196/fd
[root@cent-test01 fd]# ls
0  1  2  3

なんか色ついてる。

■proc pid fd  ハンドル
参考URL:https://www.google.co.jp/search?q=proc%E3%80%80fd&aq=f&oq=proc%E3%80%80fd&aqs=chrome.0.57j0l3.5579j0&sourceid=chrome&ie=UTF-8#safe=off&hl=ja&sclient=psy-ab&q=proc%E3%80%80pid%E3%80%80fd%E3%80%80%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB&oq=proc%E3%80%80pid%E3%80%80fd%E3%80%80%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB&gs_l=serp.3...499897.504669.1.505021.20.13.7.0.0.1.158.1310.6j7.13.0...0.0...1c.1j4.9.psy-ab.yznTMDD_DxI&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45512109,d.dGI&fp=2029cedacbe31ef4&biw=1920&bih=951


 0:標準入力、1:標準出力、2:標準エラー出力
らしい

参考URL:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man5/proc.5.html

LIMITSもあるらしい

/proc/(PID)/limits/

参考URL:http://ja.softuses.com/63083

-------------------------------
[root@cent-test01 fd]# cat /proc/2196/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            10485760             unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             32767                32767                processes
Max open files            1024                 1024                 files
Max locked memory         32768                32768                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       32767                32767                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0
-------------------------------
■メモリリーク調査
参考URL:https://www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF+%E8%AA%BF%E6%9F%BB&aq=1&oq=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF%E3%80%80&aqs=chrome.3.57j5j0l2j62l2.5999j0&sourceid=chrome&ie=UTF-8