無限ループを終了させる

[戻る]
イタチ 2002/07/06(土) 09:54:41
無限ループを終了させたい場合、「Ctrl+c」を入力すれば終了することができます。しかし、
それでも終了できない場合があるそうなんですが、それはなぜですか。また、その場合はどのよ
うにして終了させればいいんですか。

K.N 2002/07/06(土) 11:05:47
>それでも終了できない場合があるそうなんですが、それはなぜですか。
キー入力が、そのプログラム[コンソールアプリ]に届かないからでは?

>その場合はどのようにして終了させればいいんですか。
Ctrl+Alt+Del3つキーを同時に押してタスクマネージャを起動し、
アプリケーションの終了...win2000で試しました。

駄犬 [E-Mail] 2002/07/06(土) 11:26:07
> 無限ループを終了させたい場合、「Ctrl+c」を入力すれば終了することができます。

これは・・・・状況次第。
Windows自体がCtrl+Cで止まったら目も当てられない。(><

# 状況次第で回答は変わります。
# だからこそ環境を書いて下さいと「使用上の注意」に書いてあるんですよ。

wood 2002/07/06(土) 11:30:20
>それでも終了できない場合があるそうなんですが、それはなぜですか。
それは自分のアプリケーションが処理をしておらず
データベースエンジンが終了していないなどの理由から終了できない場合

壊れてもいいのなら最強のリセットスイッチ
そうでなければK.N さんと同じ
まず無限ループ発生しないように最初はステップ実行でデバックしておくもの
と思ってますけど
必ず終了できることを確認の上スルーテストしますけど、どんなテスト
してるんですか?

くたくた 2002/07/06(土) 15:09:17
>終了できない場合があるそうなんですが、それはなぜですか。
o 無限ループ中のソフトがCtrl+Cを受信出来ない程 重症な状態に陥ってる
o Ctrl+C受信ハンドラが空、もしくは異常
がよくある理由だと思います。

>その場合はどのようにして終了させればいいんですか。
WinではK.Nさんのお答えどおりです。(2000未満のWinでもできる)
UNIXではkillでできます(ゾンビ化も厭わない覚悟で)

古いスレッドには追加発言できません。