• ベストアンサー

通常の終了と強制終了の内部処理的な相違について

[質問事項] 下記のAとBは、Windowsの内部処理的に何が違うのでしょうか? ・スタート→Windowsの終了を選ぶ通常の終了方法(これをAとします) ・CTHL+Alt+DELで表示される「プログラムの終了」で「シャットダウン」を 選択する方法(これをB) 素人考えでは、Aでやっている何らかの処理をBではスキップしていると思うのですが。 どなたかご存知の方がいらっしゃいましたらお教えください。 よろしくお願いいたします。 [背景] 下記の環境で使用しているうちに電源が切れず「しばらくお待ちください」で 止まるようになってしまいまいた。 最初は、時々発生していたのを無視していたので、今では必ず発生します。 (そのため、お恥ずかしいことに、何を変更したために発生するようになったか 今となっては判断できません。) 上の方法Bならば電源断まで行きますので、現在はこの方法で切っています。 そこで、Aのどういう処理で引っかかっているのか疑問に思い質問させていただきました。 ちなみに、終了させる時点で動いているアプリケーションは、 「Explorer」「Imejpmgr」「Systray」の3つだけです。 ・機種名:PC-9821Xc200 ・CPU:Pentium(200Mhz) ・MM:64MB ・HDD:計5GB(60%程度使用) ・OS:Windows95(4.00.950 B) ・使用ソフト:Office2000、IE5、WeMail(メーラー)等 [現状] こちらの過去ログなどを調べた結果、原因としてレジストリーの肥大化を疑ってますが、 業務用のPCのため、代替機を準備するまで手を付けられない状態です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Aの方法の場合、実行中のアプリケーションに「OSを終われって言われているんだけど、終わっちまっていいか?」と聞きます。聞かれたアプリケーションはなるべく自然な方法で終わろうと「努力」します。というのはアプリケーションの中には、文書を編集中のWordのように、そのまま終わってしまっては困るものがあります。そういうアプリケーションは、前述の問い合わせの際に「保存しますか?」とメッセージを出したりして必要な処理を済ませてから、終わります。 Bの方法は(多分)問い合わせをしません。文書を編集中のWordのデータは保存する間もなくOSもろとも終了してしまうのです。

tobruk
質問者

お礼

happy_peopleさん、さっそくのご回答ありがとうございます。 なるほど!すると、動作中のアプリケーションが存在しない状態では、 (データを保存する必要があるアプリケーションもないので) 方法Aも方法Bも結果的には大差なさそうですね。 もう少し他の方のご回答(アドバイス)もいただきたいので、 あと数日は締め切りませんが、どうぞご了承ください。

その他の回答 (1)

noname#18951
noname#18951
回答No.2

 Windowsソフトウェア開発者からの意見として聞いていただければあ りがたいです。  まず、強制終了と通常の終了の違いですが、通常の×印を押して終了 させたりする「正しい終了」ではソフトウェア側に「終了してください」 というメッセージをソフトウェアに送ります。そのときにソフトウェア は終了手続きをすることになります。たとえば書きかけの文書の保存や 終了の確認等を行います。このメッセージを含むソフトウェアに対する メッセージ(マウスが移動した、クリックされた)にソフトウェアが Windowsに対し応答しないときそのアプリケーションは「応答なし」と みなされます。  強制終了は「終了してください」というメッセージを送らずにWindows がソフトウェアを終了させます。このとき書きかけの文書が保存されず に消えてしまうこととなります。内部では本来終了時に開放すべきメモリ が開放されず占有されたままとなり不安定になります。特にリソースメ モリは残ってしまう傾向があります。

tobruk
質問者

お礼

tnakさん、専門家からの貴重なご意見をありがとうございます。 了解いたしました。 やはり、「強制」は「強制」なのですね。 なるべく早く根本的な対策を取ることにいたします。 なお、これにて、一応ご回答を締切させていただきます。 お二方のご意見はどちらも同じくらいありがたいものでしたので、 今回は先着順にポイントを付けさせていただきます。 悪しからずご了承ください。

関連するQ&A

  • ネット中の強制終了

    ネット中にあるサイトさんに入ろうとしたら、強制終了されました。 こういうことが時々あって、他のサイトさんでもサイト内には入れても、何かをクリックすると同じ様なことが…。 「このプログラムは不正な処理を行ったので強制終了されます。 終了されない場合は、プログラムの製造元に連絡してください。」 というメッセージが出てきて『詳細』をクリックすると 『EXPLORER のページ違反です。 モジュール : MSHTML.DLL、アドレス : 015f:7b6b408a Registers:EAX=00000000 CS=015f EIP=7b6b408a EFLGS=00010246  …(以下略)』 と出てきます。 他のパソコンでそのサイトさんを見た時は、普通に見れたのでこのパソコンがおかしいのだと思います。 対処法などありますか?

  • Internet Explorer7 の強制終了

    最近ネットブラウザを新しくInternet Explorer7に更新したのですが、どうもおかしいです。Explorerウインドウを1つだけ開いて閲覧しているときは問題ないのですが、2つ3つとウインドウ画面を立ち上げて閲覧して、その後そのウインドウをとじた瞬間に「ごめいわくおかけして申し訳ありません。問題が発生したためウインドウを閉じます。」のような文言があらわれて強制終了されます。Explorer6の時は3つでも4つでもウインドウをひらいても問題なかったのですが。ほとんど確実に発生するので、不便でなりません。どなたか解決策を教えてください。

  • 勝手に終了してしまう。

    PCでネットを見ていると突然フリーズして 『問題が発生したため Intermet Explorer を終了します。』 というウィンドウが出てきます。 マイクロソフトに送信する、しない、と選ぶのですがどちらにしても改善しないし、原因も分かりません。 何が悪いのか原因が分かる方、いましたらご協力をお願いします。 OSはXP、Intermet Explorer8使用、ウィンドウは3画面くらい一緒に出す癖があります。

  • 強制終了について。

    PCを数時間使用しないと勝手に強制終了されて電源が切れます。 毎日何度もあって困ってます。 原因は何でしょうか? 宜しくお願いします。 NEC LL750 Windows7 IE9 ノートンインターネットセキュリティ

  • プログラム終了方法

    こんにちは。プログラム終了方法についてお教え下さい。 下記のような処理を書いています。 if(A!=B)の場合、処理を抜けてプログラムを終了させたいと思っています。 下記のコードだとテキストボックスにエラー表示をさせた後に、プログラムを終了させたいです。 ただ、現状だと~~~処理3、処理4が実行されてしまいます。 どのようにすれば、if(A!=B)でテキストボックスにエラーを出力した後にプログラムを終了できるでしょうか? gotoを使用し、真ん中の処理を飛ばす方法しか有りませんでしょうか? よろしくお願いします。 try{ ~~~処理1 ~~~処理2 if(A!=B) { textbox.text = "エラー"; //goto endfinish; } ~~~処理3 ~~~処理4 } catch { textbox.text = "エラー"; } //endfinish:;

  • 不正処理?で強制終了へ?

    正常で使用中で、印刷しようとしたら、「このプログラムは不正な処理を行ったので強制終了されます」と言ってきて、印刷できません。すぐ「閉じる」をclickし、終了して、再会しても、同じメッセージが出ます。 いままでこんなことなかったので、大変困っています。初心者ですので、「詳細」を見ても何もわかりません。こちらは、Windows98を使っています。J-Commでインターネット情報を収集しています。 どうかよろしくお願いします。

  • IE7で強制終了

     IE7で強制終了が発生するということについて以前にもここに質疑が出ていますが、私の場合も同じようなことが発生しています。  ただし、多くの場合、ひとつのIE7のウィンドウを開き、そこに複数のページを開いたときに発生し、何かのタイミングで突然強制終了するほか、正常に動作していて、これを手操作で終了すると、ウィンドウが閉じ終わった瞬間に「問題が発生したため、Internet Explorer を終了します。 ご不便をおかけして申し訳ありません。」というメッセージが表示されます。  そのときは、その後何事もなかったように動作しますが、パソコンを終了したとき、ほかに何も開いていないのに何かのファイルの終了処理をしている表示が出たり、また、Windows XPの終了処理の途中に、「アプリケーションエラー」として「"0x69532047"の命令が"0x00000000"を参照しました。メモリが"read"になることはできませんでした。プログラムを終了するには・・・・」というメッセージが表示されますがそのままWindows XPは正常に停止します。  パソコンに問題があることも考えて、Windows XPの再セットアップを実行しましたが状況は変わりません。  IE7自体にバグがあるとの話も聞きますが、いかがなものでしょうか?

  • 作業中に強制終了する

    windows7です。 作業中やインターネット閲覧中に 「強制終了しました windowsの更新プログラムの構成中です 電源を切らないで下さい」 と出て 待っていると100%終了して更新完了します。 しかし 作業途中のデータが消えてしまって困ります。 PC使用者の了解を得てこの動作を初めて欲しいのですが対策はありませんか?

  • PC終了時に不正な処理を・・・と出る

    WIN98SEを使っています。 PCを終了させるとき、全てウィンドウは閉じたのに スタート→電源を切れる状態にする→とやると、必ずこのプログラムは不正な処理を行ったので・・・と出てきます。 それから、閉じるをクリックすると終了(ウィンドウを終了します)と出てから必ずフリーズします。 これって、何?何処がおかしいの! そして、どうすれば直るの。

  • 強制終了できません。

    初めて質問させていただきます。 5年ほど前のNECのデスクトップPC(OSはXP)を使っています。 昨晩、「スタート」→「電源オプション」→「電源を切る」で電源を切ったつもりになって、電源が切れるのを最後まで確認せずに眠ってしまいました。 ところが、今朝PCを見てみると「Windowsを終了しています...」の画面でフリーズしており、「ナイトモード」(ディスプレイと音量だけOFF)のボタン以外まったくPCが反応しません。 キーボードでも反応しないので強制終了はもちろんのこと、電源ボタンも10分以上長押ししてみましたが、いっこうに電源が切れる様子はなく、現在もフリーズしたままの状態になっています。原因はおそらくウィルスだと思うのですが・・・。 他の症状としては、一定間隔(?)なのか、数分おきにウィ~ンとPCの中で音がしているぐらいで、HDDのアクセスランプは点滅していません。 PCが壊れてしまいそうでまだやっていませんが、この場合は、やはり電源コンセントを一度抜いてしまうべきなのでしょうか? どなたか対処方法が分かる方、至急回答をよろしくお願いいたします。