ServiceController.Status プロパティ
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)
構文サービスが実行中、停止、または一時中断しているかどうか、または開始、停止、一時中断、または続行コマンドが保留中かどうかを示す ServiceControllerStatus 値の 1 つ。
例外
解説
使用例ServiceController クラスを使用して、Telnet サービスの現在のステータスを確認する例を次に示します。サービスが停止している場合、このコードはサービスを開始します。サービスが実行中である場合は、そのサービスを停止します。
' Toggle the Telnet service - ' If it is started (running, paused, etc), stop the service. ' If it is stopped, start the service. Dim sc As New ServiceController("Telnet") Console.WriteLine("The Telnet service status is currently set to {0}", sc.Status) If sc.Status.Equals(ServiceControllerStatus.Stopped) Or sc.Status.Equals(ServiceControllerStatus.StopPending) Then ' Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service...") sc.Start() Else ' Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service...") sc.Stop() End If ' Refresh and display the current service status. sc.Refresh() Console.WriteLine("The Telnet service status is now set to {0}.", sc.Status)
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController sc = new ServiceController("Telnet"); Console.WriteLine("The Telnet service status is currently set to {0}", sc.Status.ToString()); if ((sc.Status.Equals(ServiceControllerStatus.Stopped)) || (sc.Status.Equals(ServiceControllerStatus.StopPending))) { // Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service..."); sc.Start(); } else { // Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service..."); sc.Stop(); } // Refresh and display the current service status. sc.Refresh(); Console.WriteLine("The Telnet service status is now set to {0}.", sc.Status.ToString());
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController^ sc = gcnew ServiceController( "Telnet" ); if ( sc ) { Console::WriteLine( "The Telnet service status is currently set to {0}", sc->Status ); if ( (sc->Status == (ServiceControllerStatus::Stopped) ) || (sc->Status == (ServiceControllerStatus::StopPending) ) ) { // Start the service if the current status is stopped. Console::WriteLine( "Starting the Telnet service..." ); sc->Start(); } else { // Stop the service if its status is not set to "Stopped". Console::WriteLine( "Stopping the Telnet service..." ); sc->Stop(); } // Refresh and display the current service status. sc->Refresh(); Console::WriteLine( "The Telnet service status is now set to {0}.", sc->Status );
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController sc = new ServiceController("Telnet"); Console.WriteLine("The Telnet service status is currently set to {0}", sc.get_Status().ToString()); if (sc.get_Status().Equals(ServiceControllerStatus.Stopped) || sc.get_Status().Equals(ServiceControllerStatus.StopPending)) { // Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service..."); sc.Start(); } else { // Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service..."); sc.Stop(); } // Refresh and display the current service status. sc.Refresh(); Console.WriteLine("The Telnet service status is now set to {0}.", sc.get_Status().ToString());
.NET Framework のセキュリティ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照ServiceControllerStatus 列挙体
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)
構文Public Enumeration ServiceControllerStatus
メンバ| メンバ名 | 説明 | |
|---|---|---|
| ContinuePending | サービスの継続は保留中です。これは、Win32 の (0x00000005 として定義されている) SERVICE_CONTINUE_PENDING 定数に対応しています。 | |
| Paused | サービスは一時中断されています。これは、Win32 の (0x00000007 として定義されている) SERVICE_PAUSED 定数に対応しています。 | |
| PausePending | サービスの一時中断は保留中です。これは、Win32 の (0x00000006 として定義されている) SERVICE_PAUSE_PENDING 定数に対応しています。 | |
| Running | サービスは実行中です。これは、Win32 の (0x00000004 として定義されている) SERVICE_RUNNING 定数に対応しています。 | |
| StartPending | サービスは開始中です。これは、Win32 の (0x00000002 として定義されている) SERVICE_START_PENDING 定数に対応しています。 | |
| Stopped | サービスは実行されていません。これは、Win32 の (0x00000001 として定義されている) SERVICE_STOPPED 定数に対応しています。 | |
| StopPending | サービスは停止中です。これは、Win32 の (0x00000003 として定義されている) SERVICE_STOP_PENDING 定数に対応しています。 |
解説ServiceControllerStatus クラスは、ServiceController クラスのインスタンスによって使用され、既存のサービスが実行、停止、一時中断のいずれの状態にあるのか、または Start、Stop、Pause、Continue のいずれのコマンドが保留中であるのかを示します。
使用例ServiceController クラスを使用して、TelNet サービスの現在のステータスを確認する例を次に示します。サービスが停止している場合、このコードはサービスを開始します。サービスが実行中である場合は、そのサービスを停止します。
' Toggle the Telnet service - ' If it is started (running, paused, etc), stop the service. ' If it is stopped, start the service. Dim sc As New ServiceController("Telnet") Console.WriteLine("The Telnet service status is currently set to {0}", sc.Status) If sc.Status.Equals(ServiceControllerStatus.Stopped) Or sc.Status.Equals(ServiceControllerStatus.StopPending) Then ' Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service...") sc.Start() Else ' Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service...") sc.Stop() End If ' Refresh and display the current service status. sc.Refresh() Console.WriteLine("The Telnet service status is now set to {0}.", sc.Status)
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController sc = new ServiceController("Telnet"); Console.WriteLine("The Telnet service status is currently set to {0}", sc.Status.ToString()); if ((sc.Status.Equals(ServiceControllerStatus.Stopped)) || (sc.Status.Equals(ServiceControllerStatus.StopPending))) { // Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service..."); sc.Start(); } else { // Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service..."); sc.Stop(); } // Refresh and display the current service status. sc.Refresh(); Console.WriteLine("The Telnet service status is now set to {0}.", sc.Status.ToString());
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController^ sc = gcnew ServiceController( "Telnet" ); if ( sc ) { Console::WriteLine( "The Telnet service status is currently set to {0}", sc->Status ); if ( (sc->Status == (ServiceControllerStatus::Stopped) ) || (sc->Status == (ServiceControllerStatus::StopPending) ) ) { // Start the service if the current status is stopped. Console::WriteLine( "Starting the Telnet service..." ); sc->Start(); } else { // Stop the service if its status is not set to "Stopped". Console::WriteLine( "Stopping the Telnet service..." ); sc->Stop(); } // Refresh and display the current service status. sc->Refresh(); Console::WriteLine( "The Telnet service status is now set to {0}.", sc->Status );
// Toggle the Telnet service - // If it is started (running, paused, etc), stop the service. // If it is stopped, start the service. ServiceController sc = new ServiceController("Telnet"); Console.WriteLine("The Telnet service status is currently set to {0}", sc.get_Status().ToString()); if (sc.get_Status().Equals(ServiceControllerStatus.Stopped) || sc.get_Status().Equals(ServiceControllerStatus.StopPending)) { // Start the service if the current status is stopped. Console.WriteLine("Starting the Telnet service..."); sc.Start(); } else { // Stop the service if its status is not set to "Stopped". Console.WriteLine("Stopping the Telnet service..."); sc.Stop(); } // Refresh and display the current service status. sc.Refresh(); Console.WriteLine("The Telnet service status is now set to {0}.", sc.get_Status().ToString());
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照- ServiceControllerStatusのページへのリンク