shellで条件式書く時のオプション
dとfを間違えていてハマったのでmemo。
オプション: 使用例: オプションの意味
- -z: test -z string : string の文字列長が 0 ならば真となる。
- -n: test -n string : string の文字列長が 0 より大ならば真となる。
- -d: test -d file : file がディレクトリならば真となる。
- -f: test -f file : file が普通のファイルならば真となる。
- -s: test -s file : file が 0 より大きいサイズならば真となる。
- -e: test -e file : file が存在するならば真となる。
- -r: test -r file : file が読み取り可能ならば真となる。
- -w: test -w file : file が書き込み可能ならば真となる。
- -x: test -x file : file が実行可能ならば真となる。
upstartで起動・終了周りのtips
upstartのscirptを書いていて、プロセスをkill -TERMで終了させた場合は勝手にstartしないようにしたかったので、normal exit を使用した。
start on started sshd stop on shutdown kill timeout 30 normal exit 0 TERM respawn respawn limit 2 5 script .... end script pre-start script .... end script pre-stop script .... end script
また、再起動処理を永遠に繰り返してほしくないので、respawn limit を使用している。respawn limit 2 5 と書くと、5分以内の2回再起動繰り返したらそれ以上起動しないという意味とのこと。