私はデーモンとしてnewrelicプラグインを起動するためにinit.dスクリプトを実行しました。問題は、私がservice rb_nr_agent start
を実行すると、 "require"に関連するいくつかのエラーがあることです。出力:Init.dスクリプトに必要です
[[email protected] newrelic_rb_plugin]# /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- snmp (LoadError)
from /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /opt/newrelic_rb_plugin/newrelic_redborder_agent:5:in `<main>'
[[email protected] newrelic_rb_plugin]# ./rb_nr_agent start Starting rb_nr_agent:[ OK ]
それは正常に起動しません。私は同じスクリプトを実行するが、プロジェクトのルートパスでは、それはエラーがないとうまく動作します。 init.dはそのコピーです。
start() {
RESULT=`ps aux | grep $executable | grep -c -v grep`
if [ "${RESULT:-null}" -ge "1" ]; then
echo "$prog is currently running"
else
echo -n "Starting $prog: "
/opt/newrelic_rb_plugin/newrelic_redborder_agent > /dev/null &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
else
echo_failure; failure
RETVAL=1
fi
echo
fi
return $RETVAL }
ターゲットファイル(/ opt/newrelic_rb_plugin/newrelic_redborder_agent)は '' puts $ LOAD_PATH''を追加し、 '' service ... start''を使って実行します。その後、再び動作し、違いがあるかどうかを確認してください。 –