回 帖 发 新 帖 刷新版面

主题:[讨论]windows中运行的服务和进程有什么区别

[em1]在windows任务管理器中有两类.exe


一类在左边的"应用程序"选卡中有显示,另一类没有.


而在类没有显示的大不分就是服务.

请问,服务和一般的进程有什么区别?
为什么,向sql2000这样的程序是以服务的形式运行,而不是一般的进程.

如何调用服务?

回复列表 (共19个回复)

11 楼

没用过NT内核的东东还有什么争的.说的东东都不一样.

12 楼

[quote]没用过NT内核的东东还有什么争的.说的东东都不一样.[/quote]
NT是什么玩意?老朽没听说过.

13 楼

我更正一下.
的确,用任务管理咕器看到的是服务的进程.而有的服务进程进程里面有多个服务.SVCHOST.EXE就是个例子.但并不是任务管理器看不到服务.不但能看到,如果你的权限够大,还可以把服务结束掉.当然不是全部,有些服务,管理员也无法控制的.
服务和一般的进程有什么区别?
服务和普通进程没有本质的区别.但服务一般在后台运行,一般不需要与用户进行交互.服务也可以以用户的身份启动.
有一点比较重要的,服务不需要用户登陆即可运行.但普通进程不行.这也是SQL为什么以服务运行而不以普通进程方式运行的原因.SQL安装于服务器上.而服务器大部分时间是不需要用户登陆的.
还有启动顺序的关系.大部分服务在出现用户登陆界面的时候就已经启动了.XP使用了一个延时机制.部分不是很重要的服务会延时至登陆后再启动.这也是XP为什么启动比2000快的一个原因.当然只是我们感觉.从启动到桌面显示出来的时间缩短了.其实总占用的时间是没有什么改变的.XP登陆后,桌面刚显示出来时.其实很多操作都没有效果.这也是一些相关的服务在启动的原因.
至于如何调用服务.
服务在后台运行的目的就是不需要太多的人为干预.他们会在特定事件发生的时候去做预定的事.你想调用服务只需要触发这些事件即可.别忘了WINDOWS里面可以消息满天飞啊.

14 楼

为自己的语气向楼上道歉.

15 楼

客气.我也很抱歉.语气有点过激了.

16 楼

没想到,这里还有人在使用WIN95,强啊,在CSDN上的一个家伙用的是WIN98,装的VC6,然后说想看Windows核心编程,于是问有没有办法~~~~~~~~~,不知道是那年代的机器??

17 楼

哈哈,楼上不知道老朽现在还是programfan最穷的人,看到其它人都富得冒油,也只有空妒嫉的份呀。

18 楼

呵呵,争吵也能学习到很多,keep going

19 楼


看了看,由于双方过于激动,都出现了一些小小的失误
而这些小失误在对方看来就是重点打击对象
讨论是好事,辩论则要注意出发点

我来回复

您尚未登录,请登录后再回复。点此登录或注册