.NET(C#)のコンソールアプリケーションを起動し、動作中にタスクマネージャから強制終了したときの戻り値について教えてください。
以下のサイト
http://blogs.timberlandchapel.com/blogs/timberla …
には、強制終了時の戻り値は「-1073741510」とありました。
ところが実際にサンプルPGを作ってやってみたところ、戻り値は「1」となります。
PG的には単純にMainの中でSleepの1行だけしか書いておらず、
Sleep中にタスクマネージャからプロセスを終了しています。
サンプルPGの呼出は.batのファイルからです。
(1)事実として「1」が戻ってきているのですが、それが正しいのでしょうか?
正しいとして、何かドキュメントなど情報はありますでしょうか?
(2)強制終了時に「-1073741510」を返すようにすることは可能でしょうか?
■環境
Windows Server 2003(x86) / Windows 7(x86)
.NET 3.5 SP1
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
タスクマネージャからの強制終了は,TerminateProcess APIを使った強制終了にほぼ等しいわけですが,
TerminateProcess APIの第2引数は終了コードです。
http://msdn.microsoft.com/en-us/library/windows/ …
つまり,TerminateProcessされた場合の終了コードは,強制終了させる側が決定します。
強制終了される側のプロセスは,直ちに全てのスレッドが強制終了させられます。
http://msdn.microsoft.com/en-us/library/windows/ …
> all threads of the process are terminated immediately with no chance to run additional code.
この時点で強制終了に対して介入できないため,
強制終了される側のプロセスで終了コードを設定することはできません。
(1) について。
ドキュメントに書かれていない限り,「正しい」とも「正しくない」とも言えません。
但し,上記の理由により,タスクマネージャ以外によって強制終了させられた時に,
異なる終了コードを返す可能性は十分あり得ます。
(2) について。
強制終了に介入できないため,不可能です。
強制終了させる側のアプリケーションを作るのであれば,そのアプリケーションからの強制終了に限り特定の終了コードを返すことは可能ですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- 数学 確率の問題 4 2023/02/24 01:07
- 日本株 SBI証券HYPER SBI 2のエラー 1 2023/01/31 13:38
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- その他(プログラミング・Web制作) プログラムについて。 4 2022/03/30 09:59
- Windows 7 更新プログラムを入れたら操作出来なくなりました(泣) 1 2023/02/26 11:04
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- デスクトップパソコン windows7を使っているパソコンでの質問です。先日動作が遅く再起動かけると「windowsを起動 9 2022/06/16 21:31
- ノートパソコン Win10 EXCEL でのエラー 2 2022/04/03 15:57
- 教えて!goo アンドロイド用の教えて!gooアプリの戻るボタンを押すと、勝手に自動で教えて!gooアプリが終了して 2 2022/09/24 07:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
プロセスのアタッチ・デタッチ...
-
Texについてです。 jpgファイル...
-
WINのタスクマネージャの強制終了
-
シェルで親プロセス終了時に子...
-
ウィンドウのタイトルからプロ...
-
Linuxでのスレッド間メッセージ...
-
C++のプログラムをバックグラウ...
-
他のアプリケーションの操作に...
-
API関数 GetExitCodeProcess
-
怪しいプロセス教えてください。
-
WebBrowserでPDF表示でのトラブル
-
Windowsでのfork方法
-
ADOでアクセスのレコードに...
-
Visual C++からpingを実行して...
-
VBでエクセルを起動し、プロ...
-
スレッド?
-
VB6.0 SHELLで起動...
-
複数同時実行時の参照先について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
なぜ女性は男性が忘れたことを...
-
タスクマネージャーのプロセス...
-
プロセスのアタッチ・デタッチ...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
C#でのbatファイル実行結果取得
-
プロセスIDからウィンドウハ...
-
c言語でプロセスIDを調べたい
-
Linuxでのスレッド間メッセージ...
-
プロセスIDの取得方法について
-
ADOでアクセスのレコードに...
-
怪しいプロセス教えてください。
-
vb.netでEXCEL起動がうまくでき...
-
別のプロセスの関数を呼び出す...
-
C++のプログラムをバックグラウ...
-
Visual C++からpingを実行して...
-
VBS(WSH)で開いたIEのウィンド...
-
IISがフリーズ
おすすめ情報