首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过LogMeIn执行任务

通过LogMeIn执行任务
EN

Stack Overflow用户
提问于 2014-07-07 06:50:15
回答 1查看 246关注 0票数 0

我正在使用LogMeIn OneToMany任务将更新部署到运行我的应用程序的某些PC上。我有一个生成子.exe的python进程。它以"python.exe“(任务列表中的内容)运行,并有一个名为"Administrator: AppRunner”的标题。

我不能杀死python.exe,因为还有其他脚本正在运行,我不想死。所以,我试着根据标题名杀人。以下内容在本地工作,但在通过logmein执行时不起作用:

代码语言:javascript
复制
os.system('taskkill /f /t /fi "WindowTitle eq Administrator:  AppRunner"')

我还有其他杀死其他可执行文件的任务,它们可以正常工作,例如:

代码语言:javascript
复制
os.system('taskkill /f /im program.exe')

有什么明显的东西我遗漏了吗?或者有人能帮我调试这样的东西,这样我就可以找到一个问题的钩子了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-07 08:19:55

正如您自己已经注意到的,来自Microsoft帮助页面中的taskkill

当指定远程系统时,不支持WINDOWTITLE和状态过滤器。

相反,可以让您的子进程编写一个PIDfile:

代码语言:javascript
复制
import os

pid = os.getpid()
with open('c:\\temp\\myapp.pid','w') as pidfile:
    pidfile.write(str(pid))

然后,当您想要终止进程时,从文件中获取PID并使用/PID开关将其关闭。假设您已经将PID读入变量mypid

os.system('taskkill /PID {} /f'.format(mypid))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24604507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档