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

[debian-users:41700] Re: 起動停止スクリプトについて



From: hab47260@xxxxxxxxxxxxx
Subject: [debian-users:41699] Re: 起動停止スクリプトについて
Date: Sat, 16 Oct 2004 21:14:29 +0900
> いったい何が原因か、知りたいです
> なぜなんでしょうか?

>  grep /usr/local/bin/noip の時
> #./noip stop
> 
> Shutting down
> /sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
> end
> 
>  grep noip の時
> #./noip stop
> 
> Shutting down
> /sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
> Terminated

あれ、/usr/local/binにパス通ってますね。なんでだろう…。
あ、読み間違えていました。ごめんなさい。grepのほうですか。

> #./noip stop

スクリプト名と、中で実行しているプログラム名が同じですね。

> #kill `ps -ef | grep /usr/local/bin/noip | grep -v grep | awk '{print $2}'`
> kill `ps -ef | grep noip | grep -v grep | awk '{print $2}'`

絶対パスで指定していないほうは、スクリプトのほうを
killしちゃうのでしょう。

デバッガなどを使わない原始的なデバッグ方法として、「プログラム中に
printを入れる」というのがあります。今回の場合は、コマンドの実行結果が
そのまま表示されますから、kill文の前に、

ps -ef | grep /usr/local/bin/noip
echo
ps -ef | grep noip

あたりを入れて比較してみると、違いがわかるんじゃないですかね。
-- 
喜瀬“冬猫”浩