Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中以编程方式终止Windows服务_Python_Windows_Service - Fatal编程技术网

在python中以编程方式终止Windows服务

在python中以编程方式终止Windows服务,python,windows,service,Python,Windows,Service,我想快速终止windows服务,而不是停止它。该服务是一个python进程,因此该进程的名称是python.exe,因此我无法按名称终止该进程。目前,我正在使用sc queryex servicename,然后从中解析PID并按PID终止。这对于我的子进程来说是有问题的(我目前正在使用Popen和contextlib.exitstack同时关闭许多服务),因为这需要运行两个命令,因此这些命令中只有一个可以并行 能一次完成吗?这是我的密码: # This portion is not parall

我想快速终止windows服务,而不是停止它。该服务是一个python进程,因此该进程的名称是python.exe,因此我无法按名称终止该进程。目前,我正在使用
sc queryex servicename
,然后从中解析PID并按PID终止。这对于我的子进程来说是有问题的(我目前正在使用
Popen
contextlib.exitstack
同时关闭许多服务),因为这需要运行两个命令,因此这些命令中只有一个可以并行

能一次完成吗?这是我的密码:

# This portion is not parallel
pid_data = subprocess.check_output(["sc", "queryex", "svcname"])

if pid_data[0] != "PID":
    raise ValueError("Incorrect line number while running svc search.")
else:
    msgsvc_pid = int(pid_data[1])

with contextlib.ExitStack() as stack:
    # This portion is parallel
    stack.enter_context(self._kill_service_by_pid(msgsvc_pid, quiet))
    for svc in svc_list:
        stack.enter_context(self._kill_service(svc, quiet))
其中,
\u kill\u service\u by_pid
\u kill\u service
都是调用
taskkill
以按进程名称或pid终止服务的方法