終了コードの目的は何ですかrc.local
?別に乗らずに仲良くしているようです。タイトルは次のとおりです。
#!/bin/sh -e
#
# rc.local - executed at the end of each multiuser runlevel
#
# Make sure that the script will "exit 0" on success or any other
# value on error.
戻りコードは誰が確認しますか?とにかくデフォルトはゼロですか?
答え1
「常に」とは言いませんexit 0
。改行なしでもう一度お読みください。
成功すると、スクリプトが「0で終了」し、エラーやその他の値が原因で「0で終了」することを確認してください。
- 成功を示すには0を終了します。
- エラーを表示するには、別の値で終了します。
状態を必ず確認する必要はありませんが、一部の初期化システムでは、ユーザー画面に「[OK]」または「[FAIL]」が表示されます。それにもかかわらず、スクリプトが意味のある戻りコードで終了することを確認することをお勧めします。
他のスクリプトと同様に、デフォルトの終了状態はスクリプトで実行された最後のコマンドの終了状態になります。
答え2
exit 0
スクリプトの最後に追加する必要はありません。
locate rc.local | grep -vF /etc/rc.local
/etc/rc.local呼び出しに関連する可能性があるファイルを見つけて、その終了コードを確認するには実行してください。
/etc/init.d/rc.local 私のXubuntu 15.10のinitスクリプトは次のとおりです。 「$VERBOSE」変数が「no」でない場合は、終了コードを取得し、その値で何かを記録するようです。
この行を /etc/rc.local に入れると、echo "$(ps -o args= $PPID)" >/tmp/caller
起動中に呼び出し側の名前が /tmp/caller ファイルに書き込まれます。私のXubuntu 15.10システムでは、「/sbin/init永久起動」です。
答え3
rc.local はスクリプトファイルです。 Linuxの起動後に実行される最後のコマンドにスクリプトを配置できます。
rc.localはエラーをインテリジェントに回復する方法を提供しません。コマンドが失敗すると実行が停止し、エラーが発生するとヘルプはゼロで終了します。
終了コードは、Unixコマンドが親プロセスに制御を返すときに返す0から255までの数字です。