Apr 11, 2011

bash if grammar or(||) and(&&) (if文の or and条件)

I had to check parameters.
I searched if grammar, but I couldn't get a example of if condition || condition.
So I changed key word for search. It was "condition expressions"
I've got the answer. OR condition is -o and AND condition is -a.
Here is the sample code.

OR condition

if ["$1" == "" -o "$2" == ""] ; then
  exit 1
fi

AND condition

if ["$1" == "" -a "$2" == ""] ; then
  exit 1
fi

Apr 8, 2011

Linux version check

Linuxのバージョンを確認する必要があって調べてみた。


#uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux

#cat /proc/version
Linux version 2.6.18-194.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010

#cat /etc/redhat-release
CentOS release 5.5 (Final)

linux ssh起動メモ

テストに使うLinux サーバにsshで接続できなかったので
忘れないようにメモ

#service sshd start

Apr 7, 2011

Linux ユーザの全てのプロセスをkillするスクリプト

社内のLinuxサーバに無限にプロセスを生成するスクリプトが実行されたので
該当ユーザの全てのプロセスをkillするスクリプトを作ってみた。

#!bin/bash
uid=$1
pids=`ps ax -o uid,pid | grep $uid 2> /dev/null | awk '{print $2}'`
for pid in $pids
do
  if [ $pid != $$ ]; then
    echo "${user}: ${pid} killed"
    kill -KILL $pid
  fi
done


ちなみにそのユーザはbashのプロセスをずっと生成したので
以下のコマンドでも対応できる。
killall bash

rootユーザなら以下のコマンドで他のユーザの全てのプロセスをkillすることもできる。

killall5

Solarisの vmstat見方メモ

以前AIXのvmstatの見方を説明したが、
今回はSolaris。

$ vmstat 1 3
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr f0 s6 s1 s1   in   sy   cs us sy id
 0 0 0 1013264 74720  4   5 29  3  3  0  0 -0 -0  0  0  434   85   70  2  3 95
 0 3 0 1011328 96624 11  22  0  0  0  0  0  0  0  0  0  449  137   78  1  3 96
 0 0 0 1011328 96624  7   7  0  0  0  0  0  0  0  0  0  407   88   66  0  3 97

主に仕事で必要な情報はメモリ。

AIXと違うのはまず単位がKBであること、
AIXはページ単位だったため4を掛け算する必要があった。
(ページは4KB)

そしてswap項目は使用可能なvirtual memoryサイズ、
AIXはすでに使われた仮想メモリ領域を意味する。

freeはAIXと同じく物理メモリの使用可能サイズを意味する。

Apr 5, 2011

line numbers in eclipse(行番号を表示する設定)

ソースレビューをしていたら自分のEclipseに行番号が表示されないことに気付き設定した。
忘れないためメモ
Windows(ウィンドウ) -> Preferences(設定) -> General(一般) – > Editors(エディター) -> Text Editors(テキスト・エディター)
“Show Line Numbers(行番号の表示)” チェックボックスにチェックを入れる