sheenblue 发表于 2021-7-7 09:13:21

请问如何用python停止win上的服务

请问如何用python停止win上的服务

lhgzbxhz 发表于 2021-7-7 10:13:57

调用win32 api

笨鸟学飞 发表于 2021-7-7 10:24:07

pywin32、调用外部bat,都可以轻松做到

sheenblue 发表于 2021-7-7 10:37:18

笨鸟学飞 发表于 2021-7-7 10:24
pywin32、调用外部bat,都可以轻松做到

谢谢提供思路,我去试试

sheenblue 发表于 2021-7-7 10:38:12

lhgzbxhz 发表于 2021-7-7 10:13
调用win32 api

win32serviceutil.StopService("Spooler") 就可以停止Spooler服务了

我在网上看到这个。但跑不成功

Twilight6 发表于 2021-7-7 11:22:50

sheenblue 发表于 2021-7-7 10:38
win32serviceutil.StopService("Spooler") 就可以停止Spooler服务了

我在网上看到这个。但跑不成功


直接试试 net start <服务名> 、 net stop <服务名> 试试看

比如我这里启动我的 MySQL 服务,即执行:

import os
result = os.popen('net start mysql')
print(result.read())

停止 MySQL 服务:
import os
result = os.popen('net stop mysql')
print(result.read())

打印结果:
MySQL 服务正在启动 .
MySQL 服务已经启动成功。


MySQL 服务正在停止.
MySQL 服务已成功停止。

Jin_Yu 发表于 2021-7-7 12:48:05

{:10_256:}

sheenblue 发表于 2021-7-7 13:14:25

本帖最后由 sheenblue 于 2021-7-7 13:32 编辑

Twilight6 发表于 2021-7-7 11:22
直接试试 net start、 net stop试试看

比如我这里启动我的 MySQL 服务,即执行:

import os
cmd = os.popen('NET STOP TeamViewer')
os.system(cmd.read())
直接用这个提示

发生系统错误 5。

拒绝访问。

wp231957 发表于 2021-7-8 06:40:51

sheenblue 发表于 2021-7-7 13:14
直接用这个提示

首先不得在cmd下运行测试,如果在cmd模式下无法通过,说明是系统权限问题,就没得办法了

lhgzbxhz 发表于 2021-7-9 10:11:26

sheenblue 发表于 2021-7-7 10:38
win32serviceutil.StopService("Spooler") 就可以停止Spooler服务了

我在网上看到这个。但跑不成功

有装第三方库吗?

Twilight6 发表于 2021-7-9 14:21:22

sheenblue 发表于 2021-7-7 13:14
直接用这个提示



你用管理员身份打开 IDLE 或者 PyCharm 就行

sheenblue 发表于 2021-7-9 21:27:55

lhgzbxhz 发表于 2021-7-9 10:11
有装第三方库吗?

没有

sheenblue 发表于 2021-7-9 21:28:34

Twilight6 发表于 2021-7-9 14:21
你用管理员身份打开 IDLE 或者 PyCharm 就行

好,我试试,谢谢
页: [1]
查看完整版本: 请问如何用python停止win上的服务