重启IIS6 - Python

0 投票
3 回答
1875 浏览
提问于 2025-04-15 23:56

我正在用IIS 6来运行一个Django应用。我想知道是否可以在Python/Django里面重启 IIS 6,以及这样做的最佳方法是什么。

如果有人能帮忙,那就太好了!

3 个回答

1

下面这篇文章介绍了如何用Python来控制Windows服务:http://fuzzytolerance.info/code/using-python-to-manage-windows-services/

你应该能够重启IIS网页发布服务(也叫'w3svc')。

1

我觉得你可以通过命令行来执行一个iisreset。虽然我没用Django试过这个,但应该是可以的,而且实现起来也很简单。

2

除了已经提到的内容,你还可以通过 WMI 来实现,使用 Win32_Service 或者 IIsWebService 类,这两个类是有关系的。还有一个适用于 Python 的 WMI 封装库,它是基于 pywin32 的。

更新:我快速测试了一下下面的代码,结果对我有效。

import wmi

c = wmi.WMI()

for service in c.Win32_Service(Name="W3SVC"):
    result, = service.StopService()

我没有测试下一段代码,但类似的代码应该也能工作:

for service in c.IIsWebService():
    result, = service.StopService()

你可以查看 StopServiceStartService 方法的文档,了解它们的返回值。

撰写回答