jenkins 用service SERVICE_NAME start 啟動(dòng)的時(shí)候報(bào)這個(gè)錯(cuò)
先上結(jié)論:
/run把這個(gè)路徑的寫(xiě)權(quán)限勃痴,給到j(luò)enkins用戶(hù)即可
or
換到root執(zhí)行吧
出這個(gè)問(wèn)題的時(shí)候也沒(méi)多想蔬充,上網(wǎng)先查了下冒窍,基本沒(méi)說(shuō)啥绞幌,所以打算記錄下减响。
問(wèn)題其實(shí)很簡(jiǎn)單脚囊,看輸出其實(shí)就知道了转晰。
主要實(shí)在不愿意切換到root執(zhí)行芦拿,加上shell并不是那么熟,小折騰了一下查邢。
下面總結(jié)下知識(shí)點(diǎn):
在Linux系統(tǒng)的目錄/run下面有很多文件夾蔗崎,旗下存儲(chǔ)了*.pid文件。那么這些pid文件有什么作用呢扰藕?它的內(nèi)容又是什么呢缓苛?
- pid文件的內(nèi)容:pid文件為文本文件,內(nèi)容只有一行, 記錄了該進(jìn)程的ID,用cat命令可以看到邓深。
- pid文件的作用:防止進(jìn)程啟動(dòng)多個(gè)副本未桥。只有獲得pid文件(固定路徑固定文件名)寫(xiě)入權(quán)限(F_WRLCK)的進(jìn)程才能正常啟動(dòng)并把自身的PID寫(xiě)入該文件中。其它同一個(gè)程序的多余進(jìn)程則自動(dòng)退出芥备。
+/run是一個(gè)臨時(shí)文件系統(tǒng) (tmpfs)冬耿,存儲(chǔ)系統(tǒng)啟動(dòng)以來(lái)的信息。當(dāng)系統(tǒng)重啟時(shí)萌壳,這個(gè)目錄下的文件應(yīng)該被刪掉或清除亦镶。如果你的系統(tǒng)上有/var/run目錄,應(yīng)該讓它指向run
這個(gè)問(wèn)題其實(shí)切換jenkins所在的用戶(hù)組也能解決袱瓮,說(shuō)到底是個(gè)單純的寫(xiě)權(quán)限的問(wèn)題缤骨,簡(jiǎn)單點(diǎn),就改了/run的權(quán)限吧尺借,當(dāng)然會(huì)有安全問(wèn)題要注意