
.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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0 SHELLで起動...
-
他のアプリケーションの操作に...
-
起動中のEXCELファイル(EXCEL...
-
警告『 別のプロセスで使用され...
-
プロセスの停止
-
Linuxでのスレッド間メッセージ...
-
タスクマネージャーのプロセス...
-
Visual C++からpingを実行して...
-
c言語でプロセスIDを調べたい
-
VB.NETで起動したExcelの閉じ方...
-
誤ってプロセスの終了をしてし...
-
AppActivate関数について
-
バックグラウンドのプロセスの...
-
Process.Startの戻り値を後で取得
-
プロセスのアタッチ・デタッチ...
-
特定ユーザーのプロセス情報を...
-
プロセスが実行中かどうか調べ...
-
VBスクリプトでIISのプロ...
-
共有メモリの同時アクセスにつ...
-
非表示になったエクセルは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
プロセスのアタッチ・デタッチ...
-
非表示になったエクセルは?
-
C#でのbatファイル実行結果取得
-
Process.Startの戻り値を後で取得
-
タスクマネージャーのプロセス...
-
SendMessageが失敗するときがある
-
VB6.0 SHELLで起動...
-
Linuxでのスレッド間メッセージ...
-
vb.netでEXCEL起動がうまくでき...
-
explorer.exeが異様にメモリを食う
-
プロセスIDの取得方法について
-
IISがフリーズ
-
jdbcのプロセスの処理について
-
c言語でプロセスIDを調べたい
-
セマフォとmutexの違いは?
-
警告『 別のプロセスで使用され...
-
ADOでアクセスのレコードに...
-
OSPFでプロセスを分ける意義に...
-
Windowsでのfork方法
おすすめ情報