[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:50968] Fw: Re: 自動起動が出来ない。




武藤健志さま。 コメントありがとうございました。アドバイスに従い、以下の2点
を試みました。

1.アプリケーションプログラム(intserver_functionおよびu-server_b)の格納位
置を/usr/localに変更。
2.intserver_functionの起動スクリプトで ./intserver_function のあとsleepを
入れる。

以下はこれに伴う起動スクリプトの主な変更箇所の抜粋です。

① /etc/init.d/intserver_function

PATH=/usr/local

case "$1" in
 start)
cd /usr/local
./intserver_function
sleep 2s
;;

② /etc/init.d/tcppipe

case "$1" in
 start)
cd /usr/local
tcpdump -Xn -s 1600 -l | ./u-server_b 2000
;;

しかし結果は、変更以前となんら変わりません。intserver_functionは起動されイベ
ント待ちとなっているが
tcppipeのほうは起動された形跡がありません。以下はps ax の実行結果のうち、
intserver_functionの起動
以降の抜粋になります。

3498 ?        Ss     0:00 /usr/sbin/cron
3512 ?        S      0:00 /bin/sh /etc/rc2.d/S90intserver_function start
3513 ?        S      0:00 ./intserver_function
3523 ?        Ss     0:01 x-session-manager
3568 ?        S      0:00 /usr/bin/uim-xim
3569 ?        S      0:00 /bin/sh /etc/gdm/Xsession default
3573 ?        S      0:00 /usr/lib/uim/uim-helper-server
3574 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch
--exit-with-session x-session-manager
3577 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session
x-session-manager
3578 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 4
--print-address 6 --session
3580 ?        S      0:01 /usr/lib/libgconf2-4/gconfd-2 5
3583 ?        S      0:00 /usr/bin/gnome-keyring-daemon
3585 ?        Ss     0:00
/usr/lib/bonobo-activation/bonobo-activation-server --ac-activate
--ior-output-fd=18
3587 ?        Sl     0:00 /usr/lib/control-center/gnome-settings-daemon
--oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=26
3592 ?        Ss     0:01 /usr/bin/metacity --sm-client-id=default0
3604 ?        Ssl    0:01 gnome-panel --sm-client-id default1
3606 ?        Ssl    0:01 nautilus --no-default-window --sm-client-id
default2
3610 ?        S      0:01 /usr/lib/gnome-panel/wnck-applet
--oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=30
3612 ?        Ss     0:00 vino-session --sm-client-id default5
3615 ?        Ss     0:00 bluetooth-applet
3617 ?        Ss     0:00 update-notifier
3618 ?        Ss     0:00 gnome-volume-manager --sm-client-id default4
3620 ?        Sl     0:00 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
--oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oaf-ior-fd=34
3624 ?        Ss     0:00 nm-applet --sm-disable
3630 ?        Ss     0:00 gnome-cups-icon --sm-client-id default3
3631 ?        S      0:00 uim-toolbar-gtk
3634 ?        S      0:00 /usr/lib/gnome-applets/mixer_applet2
--oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=36
3636 ?        S      0:00 /usr/lib/nautilus-cd-burner/mapping-daemon
3647 ?        Ss     0:00 gnome-power-manager
3652 ?        S      0:00 /usr/lib/gnome-panel/clock-applet
--oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=40
3654 ?        S      0:00 /usr/lib/gnome-panel/notification-area-applet
--oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf- 3658 ?
S      0:00 /usr/lib/notification-daemon/notification-daemon
3663 ?        Ss     0:00 gnome-screensaver
3678 ?        Sl     0:01 gnome-terminal
3679 ?        S      0:00 gnome-pty-helper
3682 pts/0    Ss     0:00 bash
3685 ?        S      0:00 /usr/lib/uim/uim-candwin-gtk
3706 pts/0    S      0:00 su
3707 pts/0    S      0:00 bash
3712 pts/0    R+     0:00 ps ax

ここで、

3512 ?        S      0:00 /bin/sh /etc/rc2.d/S90intserver_function start
3513 ?        S      0:00 ./intserver_function

となっていますから続いて、

3514 ?        S      0:00 /bin/sh /etc/rc2.d/S98tcppipe start
3515 ?        S      0:00 tcpdump -Xn -s 1600 -l
3515 ?        S      0:00 ./u-server_b 2000

とでもなってくれることが期待値であった訳ですが、そうなりません。ここで、

/bin/sh /etc/rc2.d/S90intserver_function start

とあるので、もしかしてtcppipeのほうをintserver_functionと同じRUNLEVEL 2 で動
かそうとするのがまずいかと疑い

update-rc.d tcppipe defaults 98

ではなく

update-rc.d tcppipe start 98 3 . stop 98 0 1 6 .

と、起動時のRUNLEVELを3とするのを以前試みましたが、やはり起動されません。

なお、
intserver_functionはfork&execするプログラムなのでしょうか。それとも
バックグラウンドプロセス起動を並べたシェルスクリプトでしょうか。

実行プログラム名とシェルスクリプト名を同じintserver_functionとしてしまったの
でややこしく
なりました。シェルスクリプトintserver_functionが

./intserver_function

としてアプリケーションintserver_functionを起動しようとしています。

情報が不足・未整理で恐縮ですが、さらなるアドバイスをいただければ幸甚に存じま
す。
宜しくお願いいたします。






武藤@Debianぷろじぇくとです。

At Thu, 11 Sep 2008 05:59:06 +0900,
miya wrote:
debian起動時、ふたつのアプリケーションを自動起動するため、起動スクリプトを作成しました。
それぞれを単独でテストしたところどちらも正常に起動されるのですが両方だと片方が起動され
ません。何かが競合しているものと思われますが、究明できずにいます。
以下に、起動スクリプトの内容と登録方法などを記述します。

① /etc/init.d/intserver_function
  start)
              cd /usr/bin
              ./intserver_function

intserver_functionはfork&execするプログラムなのでしょうか。それとも
バックグラウンドプロセス起動を並べたシェルスクリプトでしょうか。
いずれにせよ、状況的にはintserver_functionの準備が整わないうちにこのinit
スクリプトが終了し、tcppipeのほうが起動してしまっているんじゃないかと思
います。
intserver_function側で準備ができるまで終了しないようにするか、適当な時間
だけsleepを./intserver_functionの後に入れる必要がありそうです。

リブートした後 ps ax で確認したところintserver_functionは起動されイベント待ちとなっているが
tcppipe(tcpdumpおよびu-server_b)は起動されていません。
作成したふたつのアプリケーション(intserver_functionおよびu-server_b)はそれぞれ
/usr/bin に格納しています。

パッケージ管理システムによらないファイルは、/usr/local/以下に置くべきです。
--
武藤 健志@ kmuto @ kmuto.jp
          Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
          株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)


__________ NOD32 3296 (20080724) 情報 __________

このメールはNOD32によって検査済みです。
http://canon-sol.jp