WindowsXP SP1でcygwin 1.5.11-1を使ってます。
initをWindowsのサービスとして起動しようとしているのですが正常に起動しません。
p4c800-e:~$ cygrunsrv.exe -Q init
Service init exists
Type : Own Process
Current State : Stopped
Controls Accepted :
p4c800-e:~$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
600 1 600 600 con 1004 00:37:54 /usr/bin/bash
1144 600 1144 2668 con 1004 00:47:15 /usr/bin/ps
p4c800-e:~$ cygrunsrv.exe -S init
p4c800-e:~$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
600 1 600 600 con 1004 00:37:54 /usr/bin/bash
2068 1 2068 2068 ? 18 00:47:51 /usr/bin/cygrunsrv
2476 2068 2476 3564 con 18 00:47:51 /sbin/init
2916 2476 2916 2916 ? 18 00:47:51 /sbin/init
I 2368 2916 2916 3108 ? 18 00:47:51 /usr/bin/bash
656 2368 2916 220 ? 18 00:47:51 /usr/bin/hostname
2600 600 2600 3772 con 1004 00:48:03 /usr/bin/ps
p4c800-e:~$
上記のようになぜかhostnameがいつまでたっても終了しません。
ここで、hostbameをkillすると起動します。
p4c800-e:~$ kill 656
p4c800-e:~$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
600 1 600 600 con 1004 00:37:54 /usr/bin/bash
2068 1 2068 2068 ? 18 00:47:51 /usr/bin/cygrunsrv
2476 2068 2476 3564 con 18 00:47:51 /sbin/init
4072 1 4072 4072 ? 18 00:49:30 /usr/sbin/xinetd
3140 600 3140 3908 con 1004 00:49:38 /usr/bin/ps
p4c800-e:~$
なお、試しにプロンプトからhostnameを実行してみると普通にhostnameを表示して終了します。
/etc/rc.d/rc.sysinit の中のhostnameを起動しているところを
------------------------------------------
12 #HOSTNAME=`/bin/hostname`
13 HOSTNAME='p4c800-e'
------------------------------------------
上記のように直接ホスト名を記入してみたところ正常に起動するようになりました。
この不可解な現象の原因や解決法をご存じの方がいらしたら助言をお願いします。
|