Functions

1,664 views

Published on

CentOS5.6 の /etc/rc.d/init.d/ functions ぜん27

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,664
On SlideShare
0
From Embeds
0
Number of Embeds
241
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Functions

  1. 1. /etc/rc.d/init.d/ functions/etc/rc.d配下とかのリーディング勉強会 2011/12/09 do_aki
  2. 2. do_aki (どぅーあき)|所属| > 株式会社もしも (ドロップシッピング・アフィリエイトASP)|仕事| > インフラ(サーバ管理)兼 Webアプリケーション開発|出現| > 渋谷・山手線沿線|特性| > PHPer http://do-aki.net/
  3. 3. /etc/rc.d/init.d/functions って何?
  4. 4. /etc/rc.d/init.d/functions 起動スクリプトの先頭によ く書いてあるアレ. /etc/init.d/functions. /etc/rc.d/init.d/functions ←実体はこっち
  5. 5. /etc/rc.d/init.d/functions• Shell Script• 起動スクリプトでよく利用され る処理の関数群(ユーティリティ)• CentOS 5.6 では、initscripts パッ ケージに含まれる
  6. 6. 全 27 functionを紹介してみる ※CentOS 5.6 の場合
  7. 7. 注意事項• CentOS 5.6 での内容を元にしてます• マイナーバージョンの違いでも若干異な るようです• 6 系だと5,6くらい関数増えてるし• ってか、激しく読みづれぇ… (;´Д`)
  8. 8. fstab_decode_str• # Interpret escape sequences in an fstab entry• fstab のエスケープシーケンスを解 釈 ???• 「fstab-decode echo “$1”」を実行している だけ 1/27
  9. 9. checkpid• checkpid pid1 pid2 ...• 指定した process id のプロセスが立ち上 がっているなら 0 を返す• 複数指定した場合は、いずれかの pid が立 ち上がっていれば 0• それ以外は 1 2/27
  10. 10. __readlink• シンボリックリンクの参照先を表示• ls -bl "$@" 2>/dev/null| awk { print $NF }‘ 3/27
  11. 11. __umount_loop• umount 完了するまで待つ感じ?• よく分からなくて追ってない 4/27
  12. 12. __umount_loopback_loop• __umount_loop と似てるけど、こっちは loopback デバイス用に特化されてる• ってコメントに書いてありました 5/27
  13. 13. __pids_var_run• __pids_var_run {program} [pidfile]• pidfile (指定のない場合は、 /var/run/{program})に含まれる pid を$pid にセット 6/27
  14. 14. __pids_pidof• __pids_pidof {program}• {program} に該当するプロセスを pidof• 無ければ、 {program} のベース名で pidof• __pids_pidof httpd• __pids_pidof /usr/sbin/httpd• どっちでもOK 7/27
  15. 15. daemon• 引数で指定したプログラムをdaemonとし て実行• daemon 化するわけではなく、既存プロセ スチェック、起動チェック、表示を簡単 に行うためのもの。• サービス名のあとに ... で待たされて ok と かでるのはこの関数呼んでるだけだった りする 8/27
  16. 16. killproc• killproc [-p pidfile] [ -d delay] {program} [- signal]• 指定した pidfile のプロセスを殺す 9/27
  17. 17. pidfileofproc• pidfileofproc {program}• {program} に該当するプロセスID を一つだ け表示する• 内部で __pids_var_run 使ってる 10/27
  18. 18. pidofproc• pidofproc [-p pidfile] {program}• {program} が起動してれば 0• Pidfileofproc と名前似てるけど全然違う 11/27
  19. 19. status• status [-p pidfile] {program}• 起動スクリプトの status そのもの• httpd (pid 12345) is running… 12/27
  20. 20. echo_success echo_failure echo_passed echo_warning• OK / FAILED / PASSED/ WARNING と表示• あらかじめ定義されたカラーシーケンス が使われる 13-16/27
  21. 21. 残り半分頑張れ、俺
  22. 22. update_boot_stage• /usr/bin/rhgb-client (あれば)を呼び出し てる 17/27
  23. 23. success failure passed warning• OK / FAILED / PASSED/ WARNING と表示• $BOOTUP と $LSBによって、 echo_xxx を 呼び出すかしないか制御 18-21/27
  24. 24. action• よくわかんない。• たぶん、グラフィックモード起動時用• /etc/rhgb/temp/rhgb-console 弄ったり• /usr/bin/rhgb-client 呼んだり 22/27
  25. 25. strstr• strstr $1 $2• $1 に $2 が含まれていれば 0• そうでなければ 1• C言語の strstr と同じ 23/27
  26. 26. confirm• (Y)es/(N)o/(C)ontinue? [Y]• Y -> 0• N -> 1• C-> 2 24/27
  27. 27. get_numeric_dev• get_numeric_dev [decimal|hex] device• device の リソース番号を “メジャー番号:マイナー番号” で表示 25/27
  28. 28. resolve_dm_name• dmraid 呼び出してごにょごにょしてる。• Software RAID 関連?• よくわからず 26/27
  29. 29. is_ignored_file• is_ignored_file file• file が無視すべきファイルなら 0 そうでな ければ 1• 無視対象 : *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave 27/27
  30. 30. おしまいありがとうございました 正直しんどかった…

×