トップページhp
5コメント2KB

cgiにエラーがあって・・・

■ このスレッドは過去ログ倉庫に格納されています
0001栗さんNGNG
cgiにバグがあって,無限ループに陥らせてしまった場合,
止めるにはどうすればいいですか?

自分のマシン上ならリセットするなり ctrl+alt+del なり何でもできるけど,
プロバイダのマシンじゃどうしようもない気がするです。
0002シェルが使えるならNGNG
killコマンドを使う。
0003ひろゆきNGNG
シェルにはいって、
kill (プロセス番号)です。
シェルに入れなかったらwebmasterにメールしましょう。
telnet.cgiでできたりして?
0004カンちやんNGNG
telnetでシェルに入って、fingerと打つと、例えば

Login Name Tty Idle Login Time Office Office Phone
tsuzuki Taro Suzuki p5 12 Aug 13 23:45 (ppp001.foo.ne.jp)
:
:

って具合に出るので、止めたいプロセスを走らせた端末を探します。
例えば、Tty(端末番号)p5で走らせたプロセスを中止するなら、次に、
ps -A | grep p5
と打つと、p5で現在走ってるプロセスのPID(プロセスID)一覧が表示されます。例えば

6010 ttyp0 00:00:00 grouch.cgi
6020 ttyp0 00:00:00 bash
6027 ttyp0 00:00:00 ps
6028 ttyp0 00:00:00 grep

ここでやっとプロセスに対応するPIDが得られます。(一番左側の数字がそう)
そして、もしgrouch.cgiを止めたければ、
kill -9 6010
で完了。
またさっきと同じようにpsコマンドを使って確認すると、例のプロセスが削除されたことが確認できます。
おわり。//
0005名無しさんNGNG
telnetが使えない無料サーバの場合などはwebmasterに連絡するよりほかないのでしょうか?
まあ、ローカルで十分テストしてからアップしているので無限ループということはそうそうないとは
思いますが・・・。
■ このスレッドは過去ログ倉庫に格納されています