[TLUG] 問一個關於daemon的 問題

依瑪貓 tlug@linux.org.tw
Tue, 06 Aug 2002 21:32:39 +0800


--===[PGP/MIME_RFC2015]===3D4FCFEE.5A5F===
Content-Type: text/plain; charset="BIG5"
Content-Transfer-Encoding: 8bit

>         小弟在這問個問題,希望大家指教一下。我的問題是有沒有當daemon的
> config檔改變時,若沒       有類似restart指令時,是否有不用停止daemon但是
> 讓新的config生效的辦法?謝謝大家!

  看是哪個 daemon 吧。不同的 service daemon 維護的 team 都不一樣,作法
也都不盡相同。

  有些 daemon (像 bind named 、 samba smbd 或 xinetd )的 init 指令檔
可以支援 reload 指令。在 Red Hat based 的系統上,妳可以用諸如:

   /etc/rc.d/init.d/named reload
   /etc/rc.d/init.d/smb reload
   /etc/rc.d/init.d/xinetd reload

  的方式,請 daemon 重讀設定檔。大多數的 reload 其實只是送一個 SIGHUP 
給 daemon 。妳也可以直接送 SIGHUP 給 daemon 。妳要先找到 daemon process 
的 pid :

   ps ax | grep named

  然後用 kill -1 或 kill -SIGHUP :

   kill -1 <pid>
   kill -HUP <pid>
   kill -SIGHUP <pid>

  如果是會生很多 children 型的 server ,如 sendmail 、 smbd 、 httpd 
等,妳要找到它 parent process 的 pid ,再來 kill -SIGHUP 。

  不是每個 service daemon 都可以這樣做,理由如前述。有些 daemon 有設計
基本結構上的原因(如 apache httpd 1.x ),除非完全重寫(如 apache httpd
2.x ),否則是不可能的。有些 daemon reload 不是透過 kill -SIGHUP ,是透
過 socket 檔(如 sendmail ),只能透過它的 init 指令檔來 reload 。

  而且, restart 也沒什麼不好的。有什麼不好的呢?就是 pid 不在前幾個,
對完美主義的處女座(像我 :p )而言,有點難看而已。

--
依瑪貓 imacat ^_*'
imacat@mail.imacat.idv.tw
PGP Key: http://www.imacat.idv.tw/me/pgpkey.txt

旅舍依瑪: http://www.imacat.idv.tw/
《女聲》電子報編輯: http://www.wov.idv.tw/
TLUG 管理員: http://www.linux.org.tw/mailman/listinfo/tlug

--===[PGP/MIME_RFC2015]===3D4FCFEE.5A5F===
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6-2 (MingW32)
Comment: For info see http://www.gnupg.org

iD8DBQA9T8/ui9gubzC5S1wRAhJ+AJ9LyIGPvv1y0Hnk4061//wmBs/TLACgm0G8
mV76BtlhIPGdjMJE2iCliB8=
=Mjfc
-----END PGP SIGNATURE-----

--===[PGP/MIME_RFC2015]===3D4FCFEE.5A5F===--