アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわ。

shの停止方法がわからなくて困っています。
sh(qqq.sh)の内容は
*******************
while true ;
do
sh xxx.sh
sleep 1
done
*******************
と、xxx.shを1秒ごとに起動するようにしています。
ですので、killコマンドでは1秒ごとに起動しているために早すぎてプロセスを停止できませんでした。

shのコマンドは
#sh qqq.sh &
で常駐するようにしました。

すごくこまっているのでご教授お願いします。

A 回答 (4件)

>killコマンドでは1秒ごとに起動しているために早すぎてプロセスを停止できませんでした。



これはどういうことでしょう?sleepの間隔とkillできるか否かに相関はないと思うのですが。。。

ps -ax | grep qqq.sh
でqqq.shのプロセスIDを調べて、
kill プロセスID
それでも死ななければ
kill -KILL プロセスID
です。

この回答への補足

回答ありがとうございます。

えーっと私も確かにqqq.shのプロセスを止めてしまえばいいのではないかと思いましたが、ps axをかけたときに立ち上がっているプロセスがqqq.shではなくsleep1というようなプロセスになっていました。
なので1秒ごとにsleep1というプロセスが立ち上がっていたのでそれを止める方法が知りたかったのです。

補足日時:2005/01/19 11:56
    • good
    • 0

>1秒ごとにsleep1というプロセスが立ち上がっていたのでそれを止める方法が知りたかったのです。



sleep 1は放っておいても1秒後には止まりますので、コマンドを打っている間に止まってしまいます。

大元の、sh qqq.sh を止めれば次から次へとsleepやsh xxx.shが起動されることがなくなりますので、#2の方の書かれているようにしてkillするのが良いかと思います。

あるいは、jobsコマンドを打つと、
[1]+Running sh qqq.sh &
のように表示されると思うので、その[ ]内の数字を使って、kill %1 としてもいいです。
    • good
    • 0

>1秒ごとにsleep1というプロセスが立ち上がっていたのでそれを止める方法が知りたかったのです。



ps -ax | awk '/sleep/{print $1}' | xargs kill

でどうでしょ?
    • good
    • 0

親のプロセスを殺せばその内止まるのでは。

しばらくは動いてるかもしれません。

この回答への補足

回答ありがとうございます。

えーっと私も確かにqqq.shのプロセスを止めてしまえばいいのではないかと思いましたが、ps axをかけたときに立ち上がっているプロセスがqqq.shではなくsleep1というようなプロセスになっていました。
なので1秒ごとにsleep1というプロセスが立ち上がっていたのでそれを止める方法が知りたかったのです。

補足日時:2005/01/19 12:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!