我有这个Windows移动应用程序。我想启动一个updater.exe来更新我的移动应用程序。但是我需要在更新程序启动之前停止我的移动应用程序。我该如何实现? 最佳答案 我所做的是,如果您从自己的内部启动更新应用程序,请使用Process.Start("\Path\To\Updater.exe");执行更新程序,然后立即关闭主应用程序(使用this.Close();或Application.Quit();。它应该可以正常工作。要从更新程序内部终止主应用程序,您必须使用p/invoke和系统调用方法来查找并终止主应用程序。它最终应该是
我想创建一个基本上执行此操作的小脚本:runprogram1.exe-->killprogram1.exeafternseconds-->runprogram1.exeagain.我知道一些基本的Python并且会阅读它,但我有点赶时间,只需要尽快完成它。如果有人有脚本/想法或者可以帮助我解决我打开和终止.exe文件所需的语法,请...我也不介意其他语言的解决方案。很抱歉,如果这有点像“请写我的代码”,那不是我通常做的事情。 最佳答案 阅读subprocessmodule.importsubprocess,timep=subproc
编辑:看起来像是重复的,但我向你保证,它不是。我希望彻底终止当前正在运行的进程,而不是终止一个单独的进程。问题是我正在终止的进程不是由子进程或exec产生的。它基本上是在试图自杀。场景如下:程序在退出时进行清理,但有时这会花费太长时间。我确信我可以终止程序,因为退出的第一步保存了数据库。我该怎么做?不能使用taskkill,因为它在某些Windows安装中不可用,例如家庭版XPtskill也不起作用win32api.TerminateProcess(handle,0)有效,但我担心它可能会导致内存泄漏,因为我没有机会关闭句柄(程序在之后立即停止调用TerminateProcess)。注
我正在尝试使用WindowsCMD运行以下.bat文件:leinruncd..第一行工作得很好,clojure程序完成了它的工作:(spitsome-filesome-stuff)但是第二行永远不会被执行。这是为什么? 最佳答案 如果我误解了你的问题,我提前道歉。据我所知,在脚本中更改文件夹听起来像是在脚本中设置了新的当前文件夹,尽管它不一定从调用脚本的终端的角度设置当前文件夹。如果您在cd..之后放置一个print语句以从脚本的角度向您显示目录,则可以使这一点更加清楚。 关于windo
我需要调试一个在启动后立即终止的进程(从外部exe启动),所以我没有时间附加。我该如何调试它?UPD我没有那个外部exe的源代码;我可以反编译,但不可能编译回来 最佳答案 您需要在暂停状态下启动您的调试进程。VisualStudio能够做到这一点,只需像这样调用调试器:devenv/debugexeyourprog.exe该进程将开始挂起,因此您将能够在崩溃前迭代第一条指令。查看详细答案here. 关于windows-调试启动后终止的进程,我们在StackOverflow上找到一个类似的
我有一个嵌套的批处理结构。首先,我从调用X1.cmd的X.cmd开始,然后调用X2.cmd。但要求X2.cmd必须恰好在X1.cmd完成其工作后启动。目前X1.cmd执行后,不会继续执行X2.cmd。我想这是因为“开始”声明。(好像是破坏了父窗口。)为了解决这个问题。我更改了结构并在X1.cmd中调用了X2.cmd。然而这次的问题是:X2.cmd在tst10.exe完成它的工作之前启动,对我来说没用。(虽然这很合乎逻辑。因为X1.cmd通过调用tst10.exe完成前4行的执行,然后通过调用X2.cmd继续执行。但这对我来说没用,因为我需要tst10.exe来完成它的工作)我需要能够检
在WindowsNT和更高版本中,我假设当一个进程到期时,无论是因为它自己终止还是被强制终止,操作系统都会自动回收该进程使用的所有内存。在任何情况下这不是真的吗?是否有任何理由显式释放用户模式应用程序使用的所有内存? 最佳答案 每当一个进程结束时,映射到它的所有内存页都会返回到可用状态。正如您所说,这可以称为“回收内存”。但是,它不会执行诸如运行析构函数之类的操作(如果您使用的是C++)。我强烈建议释放所有内存,不是从资源的角度,而是从开发的角度。尝试释放内存会鼓励您考虑内存的使用生命周期,并帮助您确保正确清理。这在短期内无关紧要,
我正在尝试为一个进程制作一个切换批处理脚本,这样如果它正在运行,它就会被杀死,如果它没有运行,它就会启动。这是我的:tasklist/FI"IMAGENAMEeqProcessName.exe"2>NUL|find/I/N"ProcessName.exe">NULsetprocopen=%ERRORLEVEL%if"%procopen%"=="0"taskkill/imProcessName.exeifNOT"%procopen%"=="0"start""ProcessName.exe但每次我运行它时,在第一个if语句之后我都会收到错误:"1"=="0")wasunexpectedat
我需要捕获当前正在输出的跟随错误:ERROR(hresult:80070425,message:Commandexecutionfailed.)Theservicecannotacceptcontrolmessagesatthistime.来self的PowerShell脚本片段,目前没有捕捉到错误:Try{appcmdstartapppool/apppool.name:DefaultAppPool}Catch{#$ErrorMessage=$_.Exception.Message#$FailedItem=$_.Exception.ItemNameWrite-Host"AppPoolc
我是C++和Windowsapi的新手。我现在所拥有的是我只能打印应用程序第一个进程的PID。如果我要创建say4进程,我想获得他们的PID;在控制台中打印它并在特定时间后终止它们中的每一个(使用计时)。示例概述:1。对于process=1直到process=52。调用notepad.exe3。获取当前进程的PID,并在控制台打印。4。从此processID执行一些操作5。增量过程6。谁执行成功,谁就终止PID。到目前为止,这是我的代码。#include#include#include#include#include#include#includeusingnamespacestd;/