2014年10月30日木曜日

Linux thread programming

http://www.tsoftware.jp/nptl/
参考にさせていただく.

2014年9月9日火曜日

tar 指定したfileのみarchive

tar 指定したfileのみarchive

$ find ./ -name '*.sh' -print0 | tar cv -T - --null -f fiels_sh.tar

find
-print0 null('\0')区切りでリストを作成

tar
-T アーカイブするファイル名のリストを指定したファイルから読み込み
ファイル名は,「-」.標準入力(標準出力)から読み込み(書き込み)
-null('\0')ファイル名のリストをnull区切りで読み取る

2014年8月26日火曜日

bash 文法まとめ

bash 文法まとめ

大変役に立つ.

http://motw.mods.jp/shellscript/tutorial.html#branch

2014年7月22日火曜日

emacs memo

option --debug-init 設定fileのdebug

MACROの保存:C-x (, C-x )
MACROの実行:C-x e
MACROの一時保存
M-x name-last-kbd-macro RET [name] RET

MACROの保存
init.el fileをopenして、
M-x insert-kbd-macro RET [name] RET
((fset '[name]…のS式が挿入される)

*scratch*での実行
C-j

Commentの挿入
M-;

man
M-x woman RET [command] RET
戻る:M-p
進む:M-n

一括置換(対話なし)
M-x replace-string

buffer全部を選択:C-x h
繰り返し実行:C-u 10

矩形モード
C-RET、範囲選択、入力や編集(C-w(cut))等の操作、C-g(終了)
C-RET、範囲選択、M-o(空白挿入)
C-RET、範囲選択、M-n(Numbering置換)
M-p矩形の幅を固定
M-b空白文字で埋める。 open-rectangle と同等
M-s文字列で置き換える。 string-rectangle と同等
M-f1種類の文字で埋める。 string-rectangle で1文字指定したときと同等
M-i矩形領域内の数字をインクリメントする
M-n矩形領域を連番で埋める。フォーマット指定可

cygwin
・windowの環境変数HOME(C:\cygwin64\home\user/)を新規追加
・.emacs.dをwindowsからcygwinへ移行(copy)

・ediff n:次の差分 p:前の差分 |:縦分割
・ElScreen
・undo-tree
・point-undo
・org-mode(アウトラインエディタ、Emacs 23以降)
・文字コード変換 C-x RET f


2014年7月18日金曜日

crash dump の準備

crash dumpの準備

 ・SysRq有効設定
  # echo 1 > /proc/sys/kernel/sysrq

  # /etc/sysctl.conf kernel.sysrq = 1
  # sysctl -p(設定有効化)
  # sysctl -a(確認)

 ・Disk空き容量確認 /var/crash


Sysq-key
– Alt-SysRq-c ← 'C'rach Dump
– Alt-SysRq-s ← 'S'ync
– Alt-SysRq-u ← '書き込み不可'で再mount
– Alt-SysRq-b ← re'B'oot

Sysrq-trigger
– # sync;sync;sync
– # echo 1 > /proc/sys/kernel/sysrq
– # echo c > /proc/sysrq-trigger

Linux crash dump に必要なもの

– debug版vmlinux(debug版kernel pkg)

• dump時のkernelと同一versionのdebug版のkernelのfileが必要
例) kernel-PAE-debuginfo-2.6.18-8.10AX.i686.rpm
kernel-debuginfo-2.6.18-8.10AX.x86_64.rpm

– System.map(通常のkernel pkgに含まれる)

• dump時のkernelが使用していたfile

– vmcore(dump本体:Memory Image) :/var/crash/日付/vmcore

2014年5月21日水曜日

printf pointer

#include

int main()
{
  int a=10;
  int *p = &a;

  printf("&a=0x%X p=0x%X p=%p *p=%d\n", &a, p, p, *p);
  return ;
}