Freigeben über


ServiceController.Stop-Methode

Beendet diesen Dienst sowie alle Dienste, die von diesem Dienst abhängig sind.

Namespace: System.ServiceProcess
Assembly: System.ServiceProcess (in system.serviceprocess.dll)

Syntax

'Declaration
Public Sub Stop
'Usage
Dim instance As ServiceController

instance.Stop
public void Stop ()
public:
void Stop ()
public void Stop ()
public function Stop ()

Ausnahmen

Ausnahmetyp Bedingung

Win32Exception

Fehler beim Zugriff auf eine System-API.

InvalidOperationException

Der Dienst kann nicht beendet werden.

Hinweise

Wenn die Funktion anderer Dienste von diesem Dienst abhängig ist, werden diese vor dem Beenden dieses Dienstes beendet. Die DependentServices-Eigenschaft enthält die Gruppe der Dienste, die von diesem Dienst abhängig sind.

Wenn Sie einen Dienst beenden, von dem dieser Dienst abhängig ist, müssen Sie die Stop-Methode für diesen Dienst innerhalb der Stop-Methode des übergeordneten Dienstes aufrufen. Die ServicesDependedOn-Eigenschaft enthält die Dienste, von denen dieser Dienst abhängig ist.

Beispiel

Im folgenden Beispiel wird der aktuelle Status des Telnet-Dienstes mithilfe der ServiceController-Klasse überprüft. Wenn der Dienst beendet wurde, wird er im Beispiel gestartet. Wenn der Dienst ausgeführt wird, wird er im Beispiel beendet.

' 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-Sicherheit

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ServiceController-Klasse
ServiceController-Member
System.ServiceProcess-Namespace
CanStop
Start
Status