问题标签 [taskkill]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 用 taskkill 轻柔地结束 javaw.exe 进程
我在关闭 javaw.exe 进程时遇到问题。我喜欢以柔和的方式来做,所以 taskkill /F 无济于事。
尝试通过 taskkill /PID 关闭 javaw 最终会出现“SUCESS”消息,但该进程仍会继续运行。
我正在使用 Windows XP SP 3 并获得了这台机器的管理员权限。
有任何想法吗?
非常感谢你!
windows - 重新启动 explorer.exe 只会打开一个资源管理器窗口
问题
在批处理文件的一部分(类型,请参阅额外信息)中,我需要重新启动资源管理器,因此我使用了久经考验的方法
然后发生这种情况
explorer.exe
已成功终止explorer.exe
已启动(见图 2),但只打开一个资源管理器窗口,我无限期地留下了(见图 1)
然后,我只能通过从任务管理器启动新任务来正确重新启动资源管理器,因为我假设Win + R
它是资源管理器的一部分。
额外的信息
现在,当我从使用 WinRAR 创建的自动执行 SFX 存档运行批处理文件时,我说“有点”。因此,在执行时,存档的内容被提取到%temp%
一个用户定义的文件(通常是引导程序,在本例中是我的批处理文件)在成功提取后运行。
到目前为止,我已经推断出
explorer.exe
绝对是被完全杀死了。- 批处理文件肯定被正确调用和执行,因为它运行并且脚本中的所有其他内容都按设计工作,除了开始的行
explorer.exe
- 重新启动资源管理器的命令不是“时间错误”或任何东西,因为我尝试过延迟它。
- 当从存档中手动提取时,批处理文件可以完美运行,因此压缩或提取过程没有问题。
- 即使使用像
start explorer.exe | cmd.exe
资源管理器这样的命令也不能正确重启,所以.bat
文件绝对不是问题。
我可以确认它适用于 Windows XP 和 Windows 7 x86,但不适用于 Windows 7 x64(这是我的系统)。
地位
目前,我对 WinRAR 持怀疑态度,因为我已经证明代码本身可以工作。因此,我正在使用不同版本的 WinRAR 创建自执行 SFX。到目前为止,我已经尝试过以下版本:
- 4.11 x86
- 4.11 x64
- 4.20b3 x86
- 4.20b3 x64
并且每次都有相同的结果。
我昨天向 dev@rarlab.com 提交了一个错误报告,今天早上得到了 Eugene Roshal 本人的回复
您好,SFX 模块使用 ShellExecuteEx 启动设置应用程序。通常它运作良好。我不知道为什么 Explorer 决定切换到窗口模式。现在我建立了一个小的独立程序
它运行 test.bat 的内容与您的示例中的内容相同。该程序显示与 WinRAR SFX 完全相同的行为,因此资源管理器在窗口中启动。
和今天早上的第二封电子邮件
对不起,现在没有建议。我用 CreateProcess 替换了 ShellExecuteEx
但结果是一样的。我尝试将其他 SW_ 标志(如 SW_SHOWDEFAULT 或 SW_RESTORE)与 ShellExecuteEx 一起用作“open”和“explore”lpVerb,但它没有帮助。现在我不明白这种窗口模式与桌面模式背后的逻辑。
我意识到前景很严峻,但我希望这对某人有所帮助..
证明/证据
链接到演示此的 SFX 存档,如果有人想要的话: https ://dl.dropbox.com/u/27573003/Social%20Distribution/restart-explorer.exe
您可能会注意到,我在 VM 中运行命令(用 表示
VMwareTray.exe
),但这不是由 VM 引起的冲突。我已经在我自己的主机系统(相同的操作系统)上测试了完全相同的文件并且得到了相同的结果。
更新
REG ADD
在完全不同的项目中使用时,我遇到了类似的“在 SFX 存档之外工作但不是来自一个”的问题。我只是不认为 SFX 档案与批处理文件配合得很好。
windows - 从任务计划的 Windows 批处理文件中杀死进程树
我创建了一个 Windows 任务,该任务在具有最高权限的管理员帐户上运行,每分钟运行一个批处理文件。
此批处理文件将执行 PHP 脚本来检索网页,然后检查是否没有返回页面或返回错误内容。
如果结果是否定的,那么批处理例程会使用 taskkill 杀死 httpd 进程及其子进程(我目前正在处理导致 Apache Http 进程也挂起的 PHP 挂起)。
当以管理员身份登录机器时执行时,整个过程完美运行。但是,当作为任务执行时(尽管具有管理员权限),该进程不会被杀死。没有事件或调试条目。
所以我的问题是为什么 task kill 无法杀死进程,我怎样才能获得更多信息以及存在哪些替代方案?
android - Android,如何使应用程序的任务不可关闭?只能通过任务杀死关闭
我正在开发一个必须始终运行并且只能通过任务杀手或类似工具关闭的应用程序。
我在清单中有:
虽然按下主页按钮时没有关闭,但我发现它有时会关闭,我不希望这种情况发生。
我用户想要,可以通过从自定义启动器中杀死它或使用任务杀手来关闭应用程序。
有什么建议么?提前致谢
PD:如何使用后退按钮退出应用程序,但不关闭它,我的意思是停止显示应用程序或其任何活动,但应用程序应继续在后台运行。
我写了一个服务,但有些东西不能正常工作我在清单中添加了这个
就在应用程序标记结束之前,这是 ONService.java:
我启动服务,应用程序启动:
这是应用程序中的主要活动
我应该在服务标签中添加带有操作的意图过滤器以使其正常工作吗?还是其他问题?
问题是它无法启动服务。这是修复:
在清单中
在调用服务的活动中:
java - 无法从 java 进程中使用 taskkill.exe
我需要从我的集成测试中杀死 Windows(WindowsXP 32 位)上的外部进程。我以为我只是使用'taskkill.exe',但我似乎无法让它工作。基本上,每次我从java启动一个'taskkill.exe'进程时,它都会返回退出值-1073741515,没有任何东西打印到std错误/输出。
为了重现这个问题,我编写了这个简单的应用程序:
更多数据点:
- -1073741515 显然意味着“应用程序未能正确初始化”。不过对我不是很有帮助;)
- 我尝试了很多 taskkill.exe 参数的组合;我试过在命令前加上'cmd'、'/c'。症状完全一样
- 我尝试执行位于 windows\system32 下的其他 windows 程序,我也得到 -10737 ...
- 执行诸如“dir”或“echo”之类的东西可以正常工作。
关于可能是什么问题的任何提示?
windows - 从批处理文件中的新命令提示符终止进程
我有这个坐在一个批处理文件中,我想知道它为什么会抛出
“系统找不到文件TASKLIST”
更重要的是,问题在于该命令 - 杀死 explorer.exe - 必须在该命令生成的 cmd 中运行
我将如何将该 taskkill 命令通过管道传送到由 at 命令生成的新命令提示符中?
感谢您的时间。
batch-file - 使用 taskkill 只杀死一个进程
为了运行游戏,我需要启动它的 exe 两次,然后杀死其中一个 rundll32.exe 进程。我不想每次都手动执行此操作,因此我将其放入批处理文件中,如下所示:
有 2 个 rundll32.exe 实例正在运行并且都被杀死,我只需要终止其中一个。PID 没有帮助,因为 rundll32.exe 每次启动时都会获得一个新的。当有更多同名进程时,如何只杀死一个进程?
windows - 使用“start /b”优雅地终止从 Windows 批处理文件启动的 java (jetty/solr) 进程
我从一个批处理文件开始一个Java后台进程(Solr)
问题是start /b
它将屏蔽进程免受 SIGINT 信号的影响,请参阅help start
. 这意味着它taskkill /pid ...
不会工作,并且taskkill /f /pid ...
会在不让它先执行关闭挂钩的情况下终止进程。
是否有另一种方法可以从 .bat 文件启动 Windows 上的后台进程,而无需打开窗口且不屏蔽 SIGINT?或者是否有另一种向 java VM 发送信号的方法,以便 Solr 在运行时优雅地关闭start /b
?
如果可能的话,我想使用普通的批处理脚本而不是 VBScript 或类似的脚本,因为这是我们大多数用户可能最了解的。
.net - Taskkill.exe 未正确关闭 WPF 应用程序
我们taskkill.exe
在一些自动化测试拆解中使用,其中一些涉及必须关闭 WPF 应用程序。
我发现如果打开了多个窗口,taskkill 会杀死活动窗口,但不会杀死整个应用程序。我们宁愿不必使用 /F 标志,因为这不允许应用程序干净地关闭并使我们的数据库“脏”。
在我们采取完全不同的方法之前,是否有人遇到过这个问题并找到了解决方案,或者有任何想法?我能找到的最接近的是设置Application.Current.ShutdownMode
为OnMainWindowClose
,但如果执行时主窗口不是前窗口,这当然无济于事taskkill
。