Windows service Rights question

  • Thread starter Thread starter Steve Long
  • Start date Start date
S

Steve Long

In writing a Windows service with .NET, I'm noticing that the process for
some services can not be killed with specifically stopping the service. If
you try to kill the process with, say task manager, you get an access denied
message. I just wrote a test service and I can kill the process for this
service without actually stopping the service. Can someone tell me how to
keep the process for my service from being killed without actually stopping
the service?

I appreciate any insight into this thread.

Thanks
Steve
 
Steve,

I read through this several times, but I'm still not confident that I
understand what you mean. A user with administrative privledges on a
box will always be able to stop a service via the service control
manager or kill any process associated with a service on that box.
Though killing a process associated with service running under a
different login will require functionality that the task manager does
not provide, it is always possible. Normal users are unable stop a
service or kill a process associated with a service. If the process
associated with a service does not terminate after stopping the service
in the service control manager then there is a problem with your code.

Brian
 
Okay, there are processes running on my machine that just happen to also be
Windows services. I didn't write these services. If I open task manager and
try to kill the process, it won't kill it. However, if I go to the Services
Control Panel and stop the service, it kills the process. An example of this
is the McShield.exe service which is the virus checker running on my box. I
can't kill this process but I can stop the service, which kills the process.
I do have admin right on my box they say.

Steve
 
Steve,

I understand what are saying now. This is correct. Although you have
administrative priviledges on your box you will not be able to kill a
process running under the system account from the task manager. You
need to use kill.exe which comes with the resource kit or pskill.exe
which is free and can be downloaded from http://www.sysinternals.com.
I hope this helps.

Brian
 
Actually, I was wondering how to make my program behave like that too. Can
you help with that?

Steve
 
As far as I know your program should behave exactly the same way as
long as it is running under the system account. Are you saying that it
doesn't?
 
Yes, I think that's what I'm saying. It fails to install unless I set the
Account property to User in the serviceProcessInstaller object.

Steve
 
I have no idea why it won't install when set to LocalSystem. I've
never had that problem before.

Brian
 
Back
Top