下の2つの違いがよく分からなかったので調査。
/etc/init.d/xxx start
service xxx start
2つの違い
serviceのコードを見たけどshell力が低くてイマイチ分からず。
仕方なくGoogleで検索しました。
検索したところ、両者では環境変数の設定が違ってくるようです。
コードを見てみるとたしかにenv -i
を利用しています。
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS}
まとめ
serviceを使った場合はユーザー毎の環境変数を引き継がない
その為実行したユーザーによって動きが変わる事がないので良い!
しかしスクリプトはrootでしか実行しないからあんまり関係ないかも。
その辺が良く分からないけどとりあえず今後はservice使ってみます。