有没有办法让进程在Windows上更改其PID?我发现了这个问题[1],但它仅针对Linux陈述了答案(“否”)。Windows呢?[1]ChangingtheProcessIdinlinux 最佳答案 不,您不能更改Windows进程的PID。 关于windows-进程何时可以在Windows上更改其PID?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10758393/
我有两种不同的方法来检查进程是否仍在运行:1)使用GetExitCodeProcess()2)使用CreateToolhelp32Snapshot()遍历进程列表并检查PID现在,在这两种情况下,我仍然知道我用TerminateProcess终止的进程仍然存在,即使它不是。有没有办法通过PID明确知道进程是活着还是死了?谢谢! 最佳答案 不要将PID用于这样的事情。PID被重复使用并且具有非常的范围,具有非常高的冲突概率。换句话说,您会发现一个正在运行的进程,但它是一个不同进程。 关于c
继续问题标题,假设我有2个正在进行的ftp传输并且我想有选择地杀死(在使用taskkill的Windows中)旧的。我将在解析tasklist命令的输出后得到pids。我不知道如何根据开始时间来区分它们-用户过去启动它们的时间。这可以在python中完成吗?我所知道的是pid可以是随机的,即较新的进程可能比旧进程具有更小/更大的pid。所以必须看到开始时间。请帮忙 最佳答案 你可以用psutils做到这一点:直接来自文档:>>>importos,psutil,datetime>>>p=psutil.Process(os.getpid
windows下如何获取cmd.exe的PID?我正在尝试找出cmd.exe的PID,就像在Unix中一样,我可以使用“ps”命令获得Windows的等效项应该是什么? 最佳答案 任务列表|找到“cmd.exe”总是会返回带有PID的cmd.exe列表如果你想知道特定终端的PID,那么从终端执行:-wmic进程获取parentprocessid,name|找到“WMIC”WMIC.exe11348它应该返回父PID,它永远是你的cmd.exe的PID 关于windows-如何在Windo
我如何知道WindowsServer2008R2中进程ID(pid)的最大可能值?据我所知,pids存储为unsignedint(DWORD)。但是在我的服务器中观察到的每个实际pids都低于65535。如果可能的话,我想将其处理为unsignedshort。 最佳答案 没有这样的限制,或者我可以看到不同的进程有不同的范围可以出现,我还没有看到一个大于5位数的。由于pids存储在DWORD中,我会说限制是4294967295,这是可以存储的最大值,因此为了安全起见,我会使用DWORD。
我正在从ShellExecuteEx启动一个进程,我确实需要获取ProcessID(这是此类要求的一部分)。不知何故,所有重要的SHELLEXECUTEINFO都返回null。因此,例如,如果我使用此代码:exInfo.lpVerb="open";exInfo.lpFile="C:\\Windows\\system32\\cmd.exe";exInfo.nShow=5;ShellExecuteExA(exInfo);它启动了CMD.exe。但现在我需要得到它的PID。exInfo.hwnd返回0,exInfo.hProcess返回null。这是正常行为吗?我真的不想使用CreatePr
我知道有很多方法可以通过进程名称获取此信息,但我有许多进程具有相同的名称(Java),因此需要使用PID。乐于使用任何可以完成此任务的工具/语言。最终这将使用Cygwin调用。谢谢 最佳答案 这个VB脚本似乎可以解决问题,在命令行上传递pid:(初始for循环可以省略)ForEachProcessinGetObject("winmgmts:").ExecQuery("Select*fromWin32_ProcesswhereHandle="&WScript.Arguments.Item(0)&"")WScript.echoProce
我正在尝试安装Cygwin作为在Windows1064位计算机上安装gcc6.3.0的前身。我正在按照我找到的说明进行操作here.当我使用以下行安装Cygwin包时(上述链接中的第2步):C:\cygwin64>setup-x86_64.exe-q-Pwget-Pgcc-g++-Pmake-Pdiffutils-Plibmpfr-devel-Plibgmp-devel-Plibmpc-devel我在Windows命令窗口中收到以下消息:C:\cygwin64>note:Handinstallationovertoelevatedchildprocess._如上图,光标位于C:\cyg
我试图在给定时间段后使用其PID终止一个进程,即,如果该进程持续运行超过10分钟,我必须调用一个方法来终止它。我有两个问题:首先,我无法终止进程,我正在使用:Process.kill('INT',pid)但是当我使用QUIT信号而不是时,错误不断弹出,例如Badfiledescriptor或unsupportedname'SIGQUIT'>INT.其次,如何在调用方法终止进程之前设置10分钟计时器?谢谢。 最佳答案 根据您的时间安排,您可以使用线程:Thread.newdosleep10*60beginProcess.kill('Q
我目前正在编写一个代理服务,它根据特定条件将一个进程启动到任意session中。在查找我使用的其中一个API的文档时,我注意到Windows8添加了一些新的API,用于控制一些新的“子session”功能(WTSIsChildSessionsEnabled、WTSEnableChildSessions、WTSGetChildSessionId)。问题是,据我所知,这个新的“子session”功能在任何地方都没有记录。我希望能够“面向future”我的应用程序并支持这项与我的应用程序相关的新技术,但如果我不知道它是什么,我无法弄清楚它是否相关!有谁知道这到底是什么,或者有指向某个地方的链