自啟動下找不到可執(zhí)行程序

本文廢話連篇,重點(diǎn)是自啟動用戶不帶PATH環(huán)境變量,啟動的應(yīng)用如果繼承PATH將出現(xiàn)找不到命令的錯(cuò)誤* *
今天下午,一個(gè)朋友問我,他為了方便服務(wù)器管理,讓Tomcat自動啟動,可是訪問項(xiàng)目時(shí)Tomcat會報(bào)一個(gè)可執(zhí)行文件找不到的錯(cuò)誤,手動重啟Tomcat就一切正常了。(???з??)ω?at?
我一接收,就霹靂怕啦的排除錯(cuò)誤了起來,先想因?yàn)樗@個(gè)項(xiàng)目依賴于另外一個(gè)軟件,我一看,報(bào)錯(cuò)的軟件正好是所依賴的軟件的一個(gè)可執(zhí)行文件,剛開始以為是那個(gè)軟件比Tomcat后啟動而引發(fā)的問題。檢測發(fā)現(xiàn)并不是。后面我忽然想起一個(gè)問題。。。
init腳本自啟動的時(shí)候是沒有默認(rèn)環(huán)境變量這么一說的(記得從哪看到過,但是找不到證據(jù)(ó﹏ò?)難受)。但是在開發(fā)的時(shí)候,他們應(yīng)該是直接調(diào)用了那個(gè)函數(shù)(不是絕對地址),然而,自啟動的Tomcat讀取的PATH和用戶再啟動Tomcat的PATH是不一樣的,所以才使得自啟動的Tomcat找不到命令,二重啟之后就可以了。都是因?yàn)镻ATH啊(ó﹏ò?)難受。
我在啟動腳本中看到這樣的代碼

export JAVA_HOME=/opt/sunjdk

忽然之間覺醒,原來是需要

export PATH=/bin:/sbin:/usr/bin...

經(jīng)測試這樣確實(shí)可以,如此解決了朋友的問題。
認(rèn)真的說,還是太年輕,書到用時(shí)方恨少。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容