Linux daemontools安裝及使用


1. 訪問頁面 https://cr.yp.to/daemontools/install.html 下載 daemontools 

2. 創建工作目錄 

 mkdir -p /package
 chmod 1755 /package
 cd /package

  

3. 解壓安裝包並安裝

mv daemontools-0.76.tar /package
tar -zxvf daemontools-0.76.tar
cd admin
cd daemontools-0.76
./package/install

4. 安裝過程中出錯及解決

1)出錯代碼

./load envdir unix.a byte.a 
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [envdir] Error 1

2)解決

vim src/conf-cc
# 在gcc 一行末尾增加 
-include /usr/include/errno.h
# 更改后
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h

5. 安裝后svscanboot 不能正常啟動問題

1) 按照官方說明,在安裝完成后,會自動增加到 /etc/init.tab中 , 增加自動啟動功能, 代碼如下, 但是重啟后發現程序並未拉起,daemotool 服務不能正常使用

官方解釋參考  開機啟動說明

cat /etc/inittab 

id:5:initdefault:

SV:123456:respawn:/command/svscanboot

2) 解決, 參考官方說明

vim /etc/init/svscan.conf 
#增加以下命令以支持自啟動
start on runlevel [12345]
stop on runlevel [^12345]
respawn
exec /command/svscanboot

#加載配置文件,並啟動(不需要重啟機器)
initctl reload-configuration
initctl start svscan

 6. 服務異常被拉起

root      1100  1088  0 16:27 ?        00:00:00 readproctitle service errors: ...xec format error?supervise: fatal: unable to start prometheus.service/run: ex

  查看介紹是因為寫的run腳本中, "#!/bin/sh" 沒有放在run文件的第一行,引發了daemontool 執行時啟動錯誤, 進程一直不斷被拉起, 調整至開頭后解決

[root@centosx1 prometheus.service]# svstat /service/prometheus.service/
/service/prometheus.service/: up (pid 6449) 0 seconds
[root@centosx1 prometheus.service]# 
[root@centosx1 prometheus.service]# 
[root@centosx1 prometheus.service]# svstat /service/prometheus.service/
/service/prometheus.service/: up (pid 6452) 0 seconds
[root@centosx1 prometheus.service]# 
[root@centosx1 prometheus.service]# 
[root@centosx1 prometheus.service]# svstat /service/prometheus.service/
/service/prometheus.service/: up (pid 6455) 0 seconds
[root@centosx1 prometheus.service]# 
[root@centosx1 prometheus.service]# svstat /service/prometheus.service/
/service/prometheus.service/: up (pid 6458) 0 seconds

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM