Posts

Showing posts from June, 2008

Killing a Windows Service that seems to hang on "Stopping"

It sometimes happens (and it's not a good sign most of the time): you'd like to stop a Windows Service, and when you issue the stop command through the SCM (Service Control Manager) or by using the ServiceProcess classes in the .NET Framework or by other means (net stop, Win32 API), the service remains in the state of "stopping" and never reaches the stopped phase. It's pretty simple to simulate this behavior by creating a Windows Service in C# (or any .NET language whatsoever) and adding an infinite loop in the Stop method. The only way to stop the service is by killing the process then. However, sometimes it's not clear what the process name or ID is (e.g. when you're running a service hosting application that can cope with multiple instances such as SQL Server Notification Services). The way to do it is as follows: Go to the command-prompt and query the service (e.g. the SMTP service) by using sc: sc \\Servername queryex SMTPSvc This will give you the

A Nice Lesson

You Can't Send a Duck to Eagle School by Mac Anderson A few years ago I had lunch with a top executive from a company known for their legendary retail service. My wife and I are both big fans, and over lunch I shared with him some of the great service stories his people had provided the Anderson family. I said, "With the service your people give...you must have training manual 2 inches thick." He looked up and said, "Mac, we don't have a training manual. What we do is find the best people we can find and we empower them to do whatever it takes to satisfy the customer." Then he said something I'll never forget. He said, "We learned a long time ago that you can't send a duck to eagle school." "Excuse me," I said. He repeated... "You can't send a duck to eagle school." He said, "You can't teach someone to smile, you can't teach someone to want to serve, you can't teach personality. What we can do, howev