Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
*Backtrace*(2002-02-02)
[go: Go Back, main page]

書いてる人: 高橋カヲル | [mixi] | [PGP] | [RSS]

トップ «前の日記(2002-02-01) 最新 次の日記(2002-02-03)» 編集

*Backtrace*

1999|12|
2000|01|02|03|04|05|06|07|08|09|10|11|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|

2002-02-02

_ daemontools 0.76

自宅では不穏な噂を聞いていたので、0.70 -> 0.76 の移行をせずにいた。が、仕事で daemontools 0.76 を使う事態になったので、慌てて調べてみる。といっても daemontools 0.76 が必須というわけではなく、 dnscache が動けばいいだけなんですけどね。

* motivation

  • の通りにやると /package や /commandができて嫌な感じになることは容易に想像できる。 ports で make install しただけの状態なら大丈夫、 /usr/local/bin 以下にバイナリが放りこまれるだけだから。問題はここから。(注記なき場合は FreeBSD を想定しましょう)

    * svscanboot

    official な方法を確認するために tarball を展開して daemontools-0.76/package/boot.rclocal を眺める。ここで /command/svscanboot を見るべきだとわかる。 /command/svscanboot としてインストールされるはずのものが、 ports では /usr/local/bin/svscanboot に存在することを確認。中身は sh script だから、こいつを参考に /usr/local/etc/rc.d/svscan.sh を作ればよさそうだ。他のプログラムで /service ハードコーディングがなければ、の話だが。 setup 系を除けば

     /command/svc -dx /service/* /service/*/log
    env - PATH=$PATH svscan /service 2>&1 | \
    env - PATH=$PATH readproctitle service errors: .......
    

    だけが残る。... があまりに長いので省略。 svc -dx ですでに動いているものを止め、 svscan で新たに /service の監視を開始、それを pipe で readproctitle に渡しているようだ。svc のマニュアルを参考にした。 ps ax | grep readproctitle とでもすると、 . の数 byte だけエラーメッセージを見ることができるようだ。さすが djb というかなんというか…

    * ~/etc/site/rc.d/svscan.sh

    readproctitle のことを考えなければ、今まで使ってた boot script のままでイケそうなそんな新しい予感。こいつは /var/service 決め打ちなので要注意。

    PATH=/usr/local/bin:/usr/bin:/bin
    case "$1" in
    start)
    	exec env - PATH="$PATH" \
    		csh -cf 'svscan /var/service &; echo $! > /var/run/svscan.pid'
    	echo -n ' svscan'
    	;;
    stop)
    	if [ -f /var/run/svscan.pid ]; then
    		kill `cat /var/run/svscan.pid`
    		svc -dx /var/service/*
    		svc -dx /var/service/*/log
    		rm -f /var/run/svscan.pid
    		echo -n ' svscan'
    	fi
    	;;
    *)
    	echo "Usage: `basename $0` {start|stop}" >&2
    	exit 64
    	;;
    esac
    exit 0
    

    * 結論

    readproctitle ステでよいなら、今までの起動スクリプトを使い回してそのまま。要ハサミだ。61!

  • _ ちょびっツ テレビアニメ化決定

    TBS で 4月2日(火) 26:20 からですか。仕事を早めに切り上げてヤンマガを読んでいたら出てきた。\

  • が公式ページらしいのだが、いまのところ 404 だ。月曜日に間に合わせりゃいいや、ってところか。いずれにせよ、月曜日になればへむへむさんところにバッチリ書かれるでしょうから、興味ある人は要チェックだ。61!そういえば、テレビはLIVEWIREProjectXしか見てないのぅ。
  • _ The Ultimate Zhu_Zhq Fansite

    戦いの基本は格闘だ。武器や装備に頼ってはいけない。

    お名前:
    E-mail:
    コメント:

    トップ «前の日記(2002-02-01) 最新 次の日記(2002-02-03)» 編集

    謎 queue & status

    Powered by 早起き生活
    [Powered by OpenBSD] [Powered by たん清] [やる気のないサイト] Valid HTML 4.01 Strict Page Rank Checker [VALID RSS!] RSS feed meter for http://triaez.kaisei.org/~kaoru/diary/