[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:41675] Re: 起動停止スクリプトについて
- From: Hiroyuki Shimada <shimaden@xxxxxxxxx>
- Subject: [debian-users:41675] Re: 起動停止スクリプトについて
- Date: Thu, 14 Oct 2004 16:37:43 +0900
- List-help: <mailto:debian-users-ctl@debian.or.jp?body=help>
- List-id: debian-users.debian.or.jp
- List-owner: <mailto:debian-users-admin@debian.or.jp>
- List-post: <mailto:debian-users@debian.or.jp>
- List-software: fml [fml 4.0.3 release (20011202/4.0.3)]
- List-unsubscribe: <mailto:debian-users-ctl@debian.or.jp?body=unsubscribe>
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-users-ctl@debian.or.jp; help=<mailto:debian-users-ctl@debian.or.jp?body=help>
- X-ml-name: debian-users
- X-mlserver: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post)
- X-original-to: debian-users@debian.or.jp
- X-spam-level: *
- X-spam-status: No, hits=1.3 required=10.0 tests=EMAIL_ATTRIBUTION,IN_REP_TO,ISO2022JP_BODY, ISO2022JP_CHARSET,MAILTO_TO_SPAM_ADDR,RCVD_IN_ORBS, RCVD_IN_OSIRUSOFT_COM,REFERENCES,SPAM_PHRASE_00_01, X_OSIRU_OPEN_RELAY version=2.44
- References: <87fz4h24xh.wl@xxxxxxxxxxx> <20041014071244667.UAOR.426371.t-mta7.odn.ne.jp@xxxxxxxxxxxxxx>
- Message-id: <20041014162551.45E8.SHIMADEN@xxxxxxxxx>
- X-mail-count: 41675
- X-mailer: Becky! ver. 2.09 [ja]
こんにちは。島田です。
On Thu, 14 Oct 2004 16:12:46 +0900
<hab47260@xxxxxxxxxxxxx> wrote:
> >man start-stop-daemonより。
>
> > このオプションは動作しない場合がある。特に、プログラムの実行時に
> > そのメインプロセスから fork するようなプログラムでは正しく動作し
> > ない。このため、通常は --background オプションと併用する場合にの
> > み有用である。
> 武藤さん
> どうも
>
> それで
> --make-pidfile --background
> を入れて実行しました
> たしかにpidfileが作成されたのですが
> なぜか、実際のJOBはpidfileファイルの
> 数より+1大きいのです
武藤さんの man の引用にあるとおり、メイン・プロセスから fork している
プログラムではうまく行きません。
pid ファイルには、start-stop-daemon が起動したプロセスの PID が書き込
まれます。たとえば、
start-stop-daemon --quiet --start --make-pidfile \
--pidfile /var/run/sleep.pid \
--exec /bin/sleep 10000 --background
なら、pid ファイルには /bin/sleep 10000 そのものの PID が書き込まれます
が、
===== /usr/local/bin/sleep.sh =====
#!/bin/sh
/bin/sleep 10000 & # ここで fork & exec している
に対して、
start-stop-daemon --quiet --start --make-pidfile \
--pidfile /var/run/sleep.pid \
--exec /usr/local/bin/sleep.sh --background
を行うと、まず start-stop-daemon により /usr/local/bin/sleep.sh が起動さ
れ、その PID が pid ファイルに書き込まれますが、/usr/local/bin/sleep.sh
はこの後 /bin/sleep 10000 を起動するので、/bin/sleep 10000 の PID と pid
ファイルの PID とは一致しません。
この場合、/usr/local/bin/sleep.sh とそれが fork したプロセス
(/bin/sleep 10000)とで名前が違うのでわかりやすいのですが、デーモンでは
同じ名前で fork するプログラムも多いので、見かけ上、pid ファイルよりも PID
が +1(あるいはもっと)されているように見えることがあります。
---
二胡を始めよう! お勧めの二胡をご用意しました
いますぐクリック ==> http://www.1bangenki.biz/
----------------------------------------------------------------------
Mail: shimaden@xxxxxxxxx
Home Page: http://www.din.or.jp/~shimaden/
島田博幸
Hiroyuki Shimada
----------------------------------------------------------------------