歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux開機啟動rc.local不執行分析

Linux開機啟動rc.local不執行分析

日期:2017/2/28 13:45:43   编辑:Linux教程

在Linux中我們常常在/etc/rc.local寫入執行命令或腳本,來實現系統開機啟動功能。但偶爾也會遇到沒有執行的情況,這時候就要來進行調試了。

以下就是調試步驟:

1、確定rc.local具有可執行權限,直接/etc/rc.local看看能不能執行。因為rc.local中已經寫明了“In order to enable or disable this script just change the executionbits.”, 要讓它生效只需要改變它的執行位。

2、看看當前系統的runlevel,再去對應rcX.d看看它的啟動順序,是不是有Src.local的啟動項在這裡面。

3、確認了前面兩項,我們就可以來調試rc.local的內容了,首先第一行,默認一般是#!/bin/sh -e,查下shell編程就知道,這個是用的sh解釋器,-e參數代表出錯後直接退出不執行後面內容。

#!/bin/sh -e echo yes ls / echo no ls /ahfjkasf echo hahaha

執行以上內容就會發現,hahaha是不會打印的。同時我們也要確認ls -l /bin/sh,來確認sh是對應的哪個解釋器,因為在Ubuntu中,sh是鏈接在dash上。

因此在確認我們使用的SHELL解釋器後,可以將-e 改成 -x或是在第二行加入set -x,這樣就能將整個rc.local的執行過程打印到syslog中了,然後去查找出錯的原因。

在執行某些腳本使用普通的重定向可能不生效,可以試試1 >>/tmp/xxx.log 2>&1這樣的格式。

Copyright © Linux教程網 All Rights Reserved