CGI暴走はどういう時に起きるのですか?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/06/23 02:25ID:Xiqwo/AJ必ずローカル環境で確かめてましょうなどと言われますが
未だにテストしていて暴走など起きたことありません。
そもそも本当に暴走によるサーバダウンなんて起きるのでしょうか?
とりあえず「whileなどに因る無限ループ」というのは聞きますが
逆に言えば原因としてこれしか聞いたことないです。
じゃあこれさえ気をつければOKでしょうか???
0002nobodyさん
03/06/23 02:34ID:sxlYymea0003nobodyさん
03/06/23 02:56ID:???0004nobodyさん
03/06/23 03:17ID:???0005nobodyさん
03/06/23 04:44ID:???ローカルで、配列に間違えてハッシュのリファレンスを指定したらフリーズした。
(^Cで停止はできるけど)
0006nobodyさん
03/06/23 04:59ID:???0007マリモーマ ◆vx6KgJyjvE
03/06/24 01:00ID:Pfw3AN7S}
0010nobodyさん
03/06/24 06:20ID:rXGYkm8s0011あぼーん
NGNG0012nobodyさん
03/06/24 11:13ID:???ような鯖は管理が甘いんじゃないのか?
一定割合以上CPUが使えないようにするとか、ある転送量
以上になるとサービスが停止するとか、あらかじめ規制し
とけば、暴走CGIを実行されてもそいつのサイトが落ちる
だけで、鯖自体は痛くも痒くもないだろう。
そんな甘い鯖なら、中には意図的に暴走するようにして
鯖を落とそうとするやつもいるだろうし、鍵のない家に
住んでて泥棒に入られたというような話やね。
0013あぼーん
NGNG0014nobodyさん
03/06/24 11:21ID:Rw67+3aY両親が共働きだと暴走し始めます。
0015nobodyさん
03/06/24 11:22ID:???0018nobodyさん
03/06/24 16:52ID:01cZwzPj#!/usr/bin/perl
fork while 1;
__END__
この程度でダメージ喰らうサーバーは結構ある。
0020本7 ◆uPD9aFm9hI
03/06/24 17:45ID:NRot/Ugh002119
03/06/24 18:09ID:???落ちるってhttpdが無限ループで何しても反応しなくなるってこと?
で、http全体を巻き込んで落ちるの?
それともOSが落ちるの?<そんなことないよね??
0022nobodyさん
03/06/24 18:24ID:???昔のパソコンならありそうだけど、ふつうサーバー用OSでは
httpdが落ちたりOSが落ちたりはまずありえない。
で、Cなんかで書かれた物でメモリ管理が間違ってる(甘い以前の問題)
物はよくCore吐いてプロセスが落ちたりするけど、
Perlだとメモリ管理自体をperlが行うから相当雑なスクリプティングでも
プロセスが落ちるところまでは滅多に行かない。
#!/usr/bin/perl
$a .= "0123456789abcdef" x 65536 while 1;
まぁこのくらいやっとけば起動後しばらくして使用可能なメモリ使い切って
プロセス自体は落ちると思うけど、サーバーには影響ないと思われる。
0023本7 ◆uPD9aFm9hI
03/06/24 18:36ID:???HTTPDですぐに幽霊プロスセ作るバカチン(このスレの傾向だとANとかが多
い)だとどんどん未解放領域が増えてしまいにHttpdに泣きつく。
で、自分だけでも手一杯なHttpdはOS叩いて共倒れ。
Winだとまずデスクトップ画像が更新されなくなる(メッセージの不通達)から
Explorerが落ちる。次にPerlが落ちる。で、Httpdがメモリアドレス違反〜がで
て鯖が死ぬ。
とにかくPerlのメモリ管理を意識してやる事かな。俺はPHPに乗り換えてましに
なったけど
0026本7 ◆uPD9aFm9hI
03/06/24 18:47ID:???0028本7 ◆uPD9aFm9hI
03/06/24 19:53ID:???0029あぼーん
NGNG0030あぼーん
NGNG0031あぼーん
NGNG0032nobodyさん
03/06/25 16:30ID:kbF34G9I改造のプロの私には、CGIの暴走の
意味が分かりません。
0033nobodyさん
03/06/25 16:37ID:???>>32
仕事で8年CGIスクリプトを書いてるけど、ローカルでテストなんかしたことないです。
都市伝説みたいなもんでしょう。
> 暴走によるサーバダウンなんて起きるのでしょうか?
サーバーがsystem7とかWindows95とかだったらあるかも知れない。
0034あぼーん
NGNG0035nobodyさん
03/06/25 17:05ID:???0036nobodyさん
03/06/25 18:24ID:MeoOZKwq0037あぼーん
NGNG0038nobodyさん
03/06/25 20:37ID:f3Z/hiNx0039nobodyさん
03/06/25 20:45ID:???0040nobodyさん
03/06/25 21:11ID:???httpdやOS側で実行時間に制限をかける。
無限ループが起きそうな場所の前後でalarm()を呼ぶ。
>>39
スクリプト側でハンドリングされたら意味無しなので、
-TERMや-INTで様子みて、駄目なら-KILLを送るのが確実かと。
0041nobodyさん
03/06/25 22:08ID:???それって手動で解除ってことですか?
それとも、httpとかでの設定すれば自動的にタイムアウトにできるんですか?
0042nobodyさん
03/06/25 22:12ID:???0043nobodyさん
03/06/25 22:18ID:???> それって手動で解除ってことですか?
killは手動解除。alarm()は、プロセルが特定のルーチンに一定時間以上とどまっている場合
(大抵ブロックか無限ループ)に、プロセス自身に自殺させる(あるいは何らかの措置を取らせる)
ことができる。perldoc -f alarm参照(システムコールを直に呼ぶならman 3 alarm)。
> それとも、httpとかでの設定すれば自動的にタイムアウトにできるんですか?
httpじゃなくてhttpdね。お使いのhttpdのマニュアルを読んでみてください。
004441
03/06/25 22:23ID:???無限ループにはまっても、書き方によってスクリプト自身で自殺する
(タイムアウトできる)ことができるってことですね。サンクス!!
>httpd
すんません、気をつけて書きます。
0045nobodyさん
03/06/25 22:24ID:???No entry for alarm in section 3 of the manual
システムコールなんだからセクション2だろ
0047nobodyさん
03/06/25 23:01ID:???性的責任能力のない人間とのセックスに関する「同意」は無効という話なんですが。
少なくともこの国では13歳未満とセックスすると無条件でレイプ。
>>440
だから親告する権利は親にあるんだってば。親に知られなきゃおっけーってのは
「ばれなきゃおっけー」と等価でしょ?
0048nobodyさん
03/06/25 23:02ID:???性的責任能力のない人間とのセックスに関する「同意」は無効という話なんですが。
少なくともこの国では13歳未満とセックスすると無条件でレイプ。
>>440
だから親告する権利は親にあるんだってば。親に知られなきゃおっけーってのは
「ばれなきゃおっけー」と等価でしょ?
0049nobodyさん
03/06/25 23:09ID:???よぉ〜く話聞いておけよ!
>>47が、2度も言ってくれてるんだぞ!
2度言う必要があるのかわからないが、
でも、2度も同じ事を言ってくれてるんだぞ!
早くロリコンを治すことたな。
0050nobodyさん
03/06/25 23:45ID:f3Z/hiNx実行時間に制限を書ける方法ってあるのですか?
0051nobodyさん
03/06/26 02:03ID:???0054nobodyさん
03/06/26 14:50ID:???httpdがforkしてperlなんかをexecするんだから、子プロセスに
シグナルを送ることは可能なのでは?
子プロセス側で fork and fork and exitとかされると
打つ手なしっぽいけど。
0056nobodyさん
03/06/26 17:36ID:???某プロバイダで働いてた時に検討対象になったことある。結局やんなかったけど。daemon化されて
initに引き取られたら意味ないし。
結局プロセス監視daemon走らせて、nobodyで居着いてる奴に片っ端から9番投げて殺すことになったハズ。
005742,52
03/06/26 18:09ID:3q2oVgaCUNIX+ApacheならRLimitCPUでできる。
他にメモリの使用量を制限するRLimitMEMもある。
サーバを貸すなら設定しておくべき。
42では無視されちゃったよ・・・
0058nobodyさん
03/06/27 09:39ID:???0059nobodyさん
03/06/27 10:21ID:???SIGKILLでterminateする以外止める方法ないだろ(w
本7の無限ループ:
持ってる限りの知識をひけらかす → いい加減な知識しかないので馬鹿にされる ┐
↑ ↓
└ 汚名挽回するには頭がいい所を見せないと ← 自分は賢いと思っているので不本意
0060nobodyさん
03/06/27 10:22ID:???0061nobodyさん
03/06/27 10:40ID:???最初から汚名だけど…
0063374
03/06/27 11:27ID:???過疎板では
0066nobodyさん
03/06/28 09:23ID:SawIuqpjほんとにやるとは・・・。鯖にコンソール付けるか、端末立てておくか、
alarm()で自殺装置付けるとかしないと。
コマンドラインから実行した場合はCtrl+Cで止まると思うけど。
0067nobodyさん
03/06/28 09:23ID:SawIuqpjWindowsってfork使えたっけ?
0068nobodyさん
03/06/28 09:25ID:???0069あぼーん
NGNG0071nobodyさん
03/07/12 10:03ID:HqRrxqAgデザインの改造ばかりで内部はいじらないし。
0072あぼーん
NGNG0073nobodyさん
03/07/12 10:35ID:???0074nobodyさん
03/07/12 17:37ID:p/T5Jtg4何をもってローカルとするかだと思うが、俺はテスト用のWebサーバー機に
直接ssh接続して編集してるから、そういう意味でのローカル(端末機)上での
チェックは一度もしたことないし、どこに必要性があるのか分からない。
0076nobodyさん
03/07/12 17:54ID:p/T5Jtg4なんでそこで急に「共用」とか「レンタル」とか条件が狭まるんだ?
「非ローカル=共用のレンタルサーバなり」という論理展開が理解できないんだが。
というか別にレンタルサーバー上にテスト環境を作ったって構わないと思うが。
どこが愚行なの?
0077nobodyさん
03/07/12 18:53ID:???0078あぼーん
NGNG0079山崎 渉
03/07/15 11:07ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0080イキリー ◆IKly1XvoQY
03/07/31 10:00ID:???0081山崎 渉
03/08/02 02:42ID:???( ^^ )< ぬるぽ(^^)
0082ぼるじょあ ◆ySd1dMH5Gk
03/08/02 05:29ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0083山崎 渉
03/08/15 22:46ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0084nobodyさん
03/08/16 03:58ID:???自動的に、タイムアウトでプロセスがkillされるんでしょうか?
0085nobodyさん
03/08/16 05:02ID:???サーバの設定や暴走の種類によりけり。
メモリ制限で落ちるか、CPU時間制限で落ちるか・・・
クライアント側で読み込み中止したらプロセスも止められると思う。
0086nobodyさん
03/08/17 06:05ID:???気がするんだけどな・・・。
WindowsベースのWebサーバーなら充分ありえるか。
その場合、会社の一番下っ端が夜中に泣きながらタクシーで駆けつけて手動リセット。
0087nobodyさん
03/09/25 19:18ID:???教えて( ゚д゚)ホスィ…
0088nobodyさん
03/09/25 19:22ID:???0089nobodyさん
03/09/25 23:50ID:???初耳なんですが、保護モードってなんですか?
ググってみると、ファイルのパーミッションのことのように思えるんですが、
それだと
>>88 の言いたいことが分からないです・・・。
0092nobodyさん
03/09/26 05:41ID:???・ポケベルを分解する
・バイブ用モーターを取り外し、そこにリレーをつける
・パソコンのリセットスイッチの接点を外してむきだしにしておく。
・リレーの余った接点をリセットスイッチが付いていたコードに接続する
・ポケベルをバイブモードにしてパソコン本体に貼り付けておく
これでいつでもどこでも、電話一本でリセット可能。
0095nobodyさん
03/09/27 20:36ID:???初期費用込みで考えたら固定電話の方がコストかかるし、
ベルの部分も最近の電子式はモーターほど単純じゃないし端子の
場所も分かりにくいから初心者向けじゃないなぁと思ってさ。
まぁ固定電話があって手間ヒマ惜しまないんだったら、FAXモデム
を応用すれば1つの回線で複数台のマシンの管理ができると思うが。
0098nobodyさん
2006/05/01(月) 19:57:10ID:???0099nobodyさん
2006/05/01(月) 23:22:01ID:???しょーもないバグを客に報告したくないとき
「暴走しました」
と報告した時に発生。
0102nobodyさん
2007/07/06(金) 12:06:56ID:???■サッカー:U17日本代表、PK戦の末韓国に勝利
23日午後2時、天安総合運動場で8カ国国際大会(U17)3位決定戦が行われ、
日本代表は韓国と対戦、PK戦の末勝利し3位となった。前半24分、水沼宏太の
ゴールで日本が先制。その後、韓国はペナルティーキック
からゴールを決め1-1の同点としたものの、その後PK戦にもつれこみ、7-6で
日本が勝利をおさめた
朝鮮日報JNS
http://www.chosunonline.com/article/20070623000031
0106nobodyさん
2008/07/28(月) 22:25:05ID:???0107nobodyさん
2009/12/13(日) 07:35:31ID:???∧_∧
( ・∀・) 人 ガッ
( つ―-‐-‐-‐-‐-‐○ < >__Λ∩
人 Y ノ. V`Д´)/
し(_) / ←>>81
0109nobodyさん
2013/12/22(日) 22:54:49.35ID:???■ このスレッドは過去ログ倉庫に格納されています