Export (0) Print
Expand All

ServiceController.Stop Method

Stops this service and any services that are dependent on this service.

[Visual Basic]
Public Sub Stop()
[C#]
public void Stop();
[C++]
public: void Stop();
[JScript]
public function Stop();

Exceptions

Exception Type Condition
Win32Exception An error occurred when accessing a system API.
InvalidOperationException The service cannot be stopped.

Remarks

If any services depend on this service for their operation, they will be stopped before this service is stopped. The DependentServices property contains the set of services that depend on this one.

If you stop a service that this service depends on, call the Stop method on this service within the Stop method of the parent service. The ServicesDependedOn property contains the services that this service depends on.

Example

[Visual Basic, C#, C++] The following example uses the ServiceController class to check the current status of the TelNet service. If the service is stopped, the example starts the service. If the service is running, the example stops the service.

[Visual Basic] 

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


[C#] 

         // 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());
         

[C++] 

         // 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");

         if (sc)
         {
            Console::WriteLine("The Telnet service status is currently set to {0}", 
                              __box(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}.", 
                               __box(sc->Status));
         

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

ServiceController Class | ServiceController Members | System.ServiceProcess Namespace | CanStop | Start | Status

Show:
© 2015 Microsoft