Process.ExitCode プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Process.ExitCode プロパティの意味・解説 

Process.ExitCode プロパティ

関連付けられたプロセス終了したときにプロセスによって指定された値を取得します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

例外例外
例外種類条件

InvalidOperationException

プロセス終了していません。

または

プロセス Handle無効です。

解説解説

ExitCode使用してシステム プロセス終了時返されステータス取得します終了コードは、main() プロシージャからの整数型戻り値同じよう使用できます

プロセスExitCode 値は、そのプロセスアプリケーション開発者によって実装された特定の規則反映します。終了コード値を使用してコード内で条件判断を行う場合は、アプリケーション プロセスによって使用される終了コード規則把握している必要があります

開発者通常ゼロExitCode 値で正常終了表し、0 以外の値でエラー表します。この 0 以外の値を使用して呼び出し元のメソッドプロセス異常終了原因識別できます。これらのガイドラインに従う必要はありませんが、慣習的にこのようになっています。

プロセス終了する前に ExitCode取得しようとすると、例外スローさます。まず HasExited プロパティ調べて関連付けられたプロセス終了したかどうか検査してください

CloseMainWindow メソッドまたは Kill メソッド使用して関連付けられたプロセス終了させることができます

関連付けられたプロセス終了したときの通知方法には、同期と非同期2 つ方法あります同期通知は、関連付けられたコンポーネント終了するまでアプリケーションの処理を一時中断する WaitForExit メソッド呼び出し依存します非同期通知は、Exited イベント依存します。どちらの場合も、プロセス終了したという通知Process コンポーネント受け取ることができるように、EnableRaisingEvents を true設定する必要があります

使用例使用例

メモ帳インスタンス起動する例を次に示します。この例では、インスタンス起動後、関連付けられているプロセスさまざまなプロパティ取得および表示されます。その後プロセス終了検知しプロセス終了コード表示します

Imports System
Imports System.Diagnostics

Namespace ProcessSample
   Class ProcessMonitorSample

      Public Shared Sub
 Main()

         ' Define variables to track the peak
         ' memory usage of the process.
         Dim peakPagedMem As Long
 = 0
         Dim peakWorkingSet As Long
 = 0
         Dim peakVirtualMem As Long
 = 0

         Dim myProcess As Process = Nothing

         Try

            ' Start the process.
            myProcess = Process.Start("NotePad.exe")

            ' Display process statistics until
            ' the user closes the program.
            Do

                If Not myProcess.HasExited
 Then

                    ' Refresh the current process property values.
                    myProcess.Refresh()

                    Console.WriteLine()
                        
                    ' Display current process statistics.

                    Console.WriteLine("{0} -", myProcess.ToString())
                    Console.WriteLine("-------------------------------------")

                    Console.WriteLine("  physical memory usage:
 {0}", _
                         myProcess.WorkingSet64)
                    Console.WriteLine("  base priority: {0}",
 _
                         myProcess.BasePriority)
                    Console.WriteLine("  priority class: {0}",
 _
                         myProcess.PriorityClass)
                    Console.WriteLine("  user processor time:
 {0}", _
                         myProcess.UserProcessorTime)
                    Console.WriteLine("  privileged processor
 time: {0}", _
                         myProcess.PrivilegedProcessorTime)
                    Console.WriteLine("  total processor time:
 {0}", _
                         myProcess.TotalProcessorTime)

                    ' Update the values for the overall peak memory
 statistics.
                    peakPagedMem = myProcess.PeakPagedMemorySize64
                    peakVirtualMem = myProcess.PeakVirtualMemorySize64
                    peakWorkingSet = myProcess.PeakWorkingSet64

                    If myProcess.Responding Then
                        Console.WriteLine("Status = Running")
                    Else
                        Console.WriteLine("Status = Not Responding")
                    End If
                End If
            Loop While Not
 myProcess.WaitForExit(1000)

            Console.WriteLine()
            Console.WriteLine("Process exit code: {0}",
 myProcess.ExitCode)

            ' Display peak memory statistics for the process.
            Console.WriteLine("Peak physical memory usage of the
 process: {0}", _
                peakWorkingSet)
            Console.WriteLine("Peak paged memory usage of the
 process: {0}", _
                peakPagedMem)
            Console.WriteLine("Peak virtual memory usage of the
 process: {0}", _
                peakVirtualMem)

         Finally
            If Not myProcess Is
 Nothing Then
                myProcess.Close
            End If
         End Try
      End Sub 'Main
   End Class 
End Namespace 
using System;
using System.Diagnostics;

namespace ProcessSample
{
    class ProcessMonitorSample
    {
        public static void
 Main()
        {

            // Define variables to track the peak
            // memory usage of the process.
            long peakPagedMem = 0, 
                peakWorkingSet = 0, 
                peakVirtualMem = 0;

            Process myProcess = null;

            try 
            {
                // Start the process.
                myProcess = Process.Start("NotePad.exe");
    
                // Display the process statistics until
                // the user closes the program.
                do 
                {
                    if (!myProcess.HasExited)
                    {
                        // Refresh the current process property values.
                        myProcess.Refresh();

                        Console.WriteLine();
                        
                        // Display current process statistics.

                        Console.WriteLine("{0} -", myProcess.ToString());
                        Console.WriteLine("-------------------------------------");

                        Console.WriteLine("  physical memory usage: {0}"
,
                            myProcess.WorkingSet64);
                        Console.WriteLine("  base priority:
 {0}",
                            myProcess.BasePriority);
                        Console.WriteLine("  priority class:
 {0}",
                            myProcess.PriorityClass);
                        Console.WriteLine("  user processor time: {0}"
,
                            myProcess.UserProcessorTime);
                        Console.WriteLine("  privileged processor time: {0}"
,
                            myProcess.PrivilegedProcessorTime);
                        Console.WriteLine("  total processor time: {0}"
,
                            myProcess.TotalProcessorTime);

                        // Update the values for the overall peak memory
 statistics.
                        peakPagedMem = myProcess.PeakPagedMemorySize64;
                        peakVirtualMem = myProcess.PeakVirtualMemorySize64;
                        peakWorkingSet = myProcess.PeakWorkingSet64;

                        if (myProcess.Responding)
                        {
                            Console.WriteLine("Status = Running");
                        }
                        else
                        {
                            Console.WriteLine("Status = Not Responding");
                        }
                    }
                }
                while (!myProcess.WaitForExit(1000));


                Console.WriteLine();
                Console.WriteLine("Process exit code: {0}", 
                    myProcess.ExitCode);
            
                // Display peak memory statistics for the process.
                Console.WriteLine("Peak physical memory usage of the process:
 {0}",
                    peakWorkingSet);
                Console.WriteLine("Peak paged memory usage of the process: {0}"
,
                    peakPagedMem);
                Console.WriteLine("Peak virtual memory usage of the process:
 {0}",
                    peakVirtualMem);

            } 
            finally
            {
                if (myProcess != null)
                {
                    myProcess.Close();
                }
            }
        }

    }
}
#using <system.dll>

using namespace System;
using namespace System::Diagnostics;
int main()
{
   
   // Define variables to track the peak
   // memory usage of the process.
   _int64 peakPagedMem = 0,peakWorkingSet = 0,peakVirtualMem = 0;
   Process^ myProcess = nullptr;
   try
   {
      
      // Start the process.
      myProcess = Process::Start( "NotePad.exe" );
      
      // Display the process statistics until
      // the user closes the program.
      do
      {
         if (  !myProcess->HasExited )
         {
            
            // Refresh the current process property values.
            myProcess->Refresh();
            Console::WriteLine();
            
            // Display current process statistics.
            Console::WriteLine( "{0} -", myProcess );
            Console::WriteLine( "-------------------------------------"
 );
            Console::WriteLine( "  physical memory usage: {0}", myProcess->WorkingSet64
 );
            Console::WriteLine( "  base priority: {0}",
 myProcess->BasePriority );
            Console::WriteLine( "  priority class: {0}",
 myProcess->PriorityClass );
            Console::WriteLine( "  user processor time: {0}", myProcess->UserProcessorTime
 );
            Console::WriteLine( "  privileged processor time: {0}", myProcess->PrivilegedProcessorTime
 );
            Console::WriteLine( "  total processor time: {0}", myProcess->TotalProcessorTime
 );
            
            // Update the values for the overall peak memory statistics.
            peakPagedMem = myProcess->PeakPagedMemorySize64;
            peakVirtualMem = myProcess->PeakVirtualMemorySize64;
            peakWorkingSet = myProcess->PeakWorkingSet64;
            if ( myProcess->Responding )
            {
               Console::WriteLine( "Status = Running" );
            }
            else
            {
               Console::WriteLine( "Status = Not Responding" );
            }
         }
      }
      while (  !myProcess->WaitForExit( 1000 ) );
      Console::WriteLine();
      Console::WriteLine( "Process exit code: {0}", myProcess->ExitCode
 );
      
      // Display peak memory statistics for the process.
      Console::WriteLine( "Peak physical memory usage of the process: {0}",
 peakWorkingSet );
      Console::WriteLine( "Peak paged memory usage of the process: {0}",
 peakPagedMem );
      Console::WriteLine( "Peak virtual memory usage of the process: {0}",
 peakVirtualMem );
   }
   finally
   {
      if ( myProcess != nullptr )
      {
         myProcess->Close();
      }
   }

}

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Process クラス
Process メンバ
System.Diagnostics 名前空間
HasExited
CloseMainWindow
Kill
WaitForExit
Process.EnableRaisingEvents プロパティ


このページでは「.NET Framework クラス ライブラリ リファレンス」からProcess.ExitCode プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からProcess.ExitCode プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からProcess.ExitCode プロパティを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Process.ExitCode プロパティ」の関連用語

Process.ExitCode プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Process.ExitCode プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS