重新启动服务
重新啟動(dòng)服務(wù)
最近常去的論壇掛了,看起來(lái)是IIS進(jìn)程系統(tǒng)資源占用太多了;服務(wù)器管理員又度周末去了,不能重啟IIS,郁悶。CSDN服務(wù)器的IIS可能重啟過(guò)于頻繁了,分論壇頁(yè)面經(jīng)常來(lái)不及更新,自己發(fā)的帖子出現(xiàn)在列表里面的時(shí)候已經(jīng)沉了,還是郁悶。
微軟知識(shí)庫(kù)文章Q194916?Restarting?Web?Services?and?Scheduled?Tasks?with?a?Batch?File(http://support.microsoft.com/?kbid=194916?)中描述了定時(shí)用命令行重新啟動(dòng)IIS的方法,有想偷懶的網(wǎng)管可以試試。
如果用程序來(lái)重新啟動(dòng)IIS的話,可以使用Shell對(duì)象的IShellDispatch2接口的ServiceStop 和ServiceStart方法。要使用Shell對(duì)象,可以調(diào)用CoCreateInstance,傳遞Shell對(duì)象的CLSID CLSID_SHELL來(lái)創(chuàng)建對(duì)象,然后查詢其IShellDispatch/IShellDispatch2等接口。
另外,WMI類Win32_ApplicationService?也提供了控制服務(wù)的方法StartService和StopService。cideguru上面有一個(gè)示例Using WMI to Extract Management Information(http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5675/)。
當(dāng)然,使用Windows服務(wù)API也是可以的——盡管需要OpenService之后再ControlService和StartService,看起來(lái)不是很簡(jiǎn)潔。平臺(tái)SDK中的示例Sending Control Requests to a Service(http://msdn.microsoft.com/library/en-us/dllproc/base/sending_control_requests_to_a_service.asp)描述了這一點(diǎn)。
這些方法都可以應(yīng)用于其它服務(wù)。要查詢服務(wù)的短名稱的話,可以參考微軟知識(shí)庫(kù)文章Q271362?How?to?Find?the?Short?Names?of?Services?(http://support.microsoft.com/?kbid=271362)
參考文檔
Browse?for?a?Folder?the?COM?Way(Visual?C++?Developer,?Aug. 1999)
More Windows 2000 UI Goodies: Extending Explorer Views by Customizing Hypertext Template Files(http://msdn.microsoft.com/msdnmag/issues/0600/w2kui2/default.aspx)
總結(jié)
- 上一篇: matlab句柄函数@和C++ 中的引用
- 下一篇: 乔布斯亲自致电原报道记者否认自己癌症复发