2018年12月29日土曜日

kill関数について


perlのスクリプトでプロセスをkillする処理があり、少し勉強したのでメモ。

■コマンド名
kill

■記法
kill <シグナル名> <プロセスID>

引数1 シグナル名
・シグナルは'TERM'としたり、シグナル番号の’15’を書いてもいい。
・マイナスをつけるとPIDに対してではなく、GPIDに対してシグナルを送信する。

引数2 プロセスID
・シグナルの送信先のプロセス。PID、もしくはGPIDを指定する。
・プロセスIDの方にマイナスをつけた場合にも、GPIDに対してシグナルを送信するようになる。

例)
kill TERM 100
 ⇒TERMのシグナルをPID100に送信

kill TERM -100
 ⇒TERMのシグナルをGPID100に送信

kill -TERM 100
 ⇒TERMのシグナルをGPID100に送信


■意味
指定したプロセスに対してシグナルを送信する。
送信できるシグナルは以下のコマンドで確認できる。

$ kill -l

PIDやGPIDはpsコマンドで確認できるけど、GPIDはオプションを指定しないと出力されないので注意。

$ ps -o user,group,pid,ppid,c,start_time,tty,time,comm


■使用例


※参考
<http://perldoc.jp/func/kill>

2018年12月20日木曜日

シェルの条件文の書き方


・数値の条件文の書き方

使用例

if [ $AAA -eq 0 ] ; then
    echo "$AAAは0";
fi


条件文
if [ $AAA -eq 0 ] ; then = EQUAL $AAAは0と等しい
if [ $AAA -ne 0 ] ; then != NOT EQUAL $AAAは0と等しくない
if [ $AAA -lt 0 ] ; then < LESS-THAN $AAAは0より小さい
if [ $AAA -le 0 ] ; then <= LESS-THAN OVER EQUAL $AAAは0以下(0を含む)
if [ $AAA -gt 0 ] ; then > GREATER-THAN $AAAは0より大きい
if [ $AAA -ge 0 ] ; then >= GREATER-THAN OVER EQUAL $AAAは0以上(0を含む)