草庐IT

php - 检测 Windows 进程和应用程序是否正在运行

我正在调查是否有一种方法可以以编程方式检查某个进程是否作为进程运行(在运行的exe列表中)AND作为打开的应用程序(即在任务栏上)并根据结果采取行动。此外-有没有办法以编程方式终止进程或正在运行的应用程序?我们在此服务器上运行一个WAMP应用程序,因此理想情况下我想要一种使用PHP来执行此操作的方法,但我愿意接受任何最有效的方法。有什么建议吗? 最佳答案 checkifacertainprocessisrunningasaprocess如果你有tasklist命令,当然://showtasks,redirecterrorstoNUL

windows - 在 Windows 中 : How do you programatically launch a process in administrator mode under another user context?

场景我有一台远程计算机,我想以编程方式在其上运行安装程序(任意可执行文件)。这些安装程序需要两件事:它们必须以管理员模式运行。它们必须在特定用户环境下运行(具体来说,是管理员组成员的本地用户)。事实证明这非常具有挑战性。似乎有一些外部工具可以执行此操作,但我正在寻找Windows附带的解决方案。这个问题的有效解决方案是什么样的从提升的上下文(例如,提升的批处理文件或可执行程序),有效的解决方案应该能够以编程方式在另一个用户上下文下以管理员模式启动进程。假设另一个用户的id和密码可用,并且另一个用户是Administrators组的成员。附加限制:有效的解决方案不能依赖外部工具。由于较新

windows - 为什么我的进程只消耗处理器功率的 5%?

不确定这里是否适合提出这个问题,但它似乎与线程和系统资源等有关。为什么当我有3个不同的进程在运行时,我的任务管理器显示系统空闲进程正在使用90%以上的CPU功率!?!?是不是因为I/O瓶颈?例如,如果我进行SVN结帐,清空回收站,同时浏览网页,为什么系统空闲进程为97%,而其他进程各为1%左右?他们似乎都不是真的走得很快。 最佳答案 大多数进程正在等待磁盘或网络操作完成,或者等待用户输入。你可能认为你有一个快速的磁盘或网络连接,但与内存/cpu相比,这就像走到最近的图书馆,在目录中查找一本书并在书架上找到它,而不是已经在你手中的书.

windows - 使用 Perl,如何检查具有给定名称的进程是否正在运行?

如何使用Perl检查特定Windows进程是否正在运行?基本上,我想使用“exec”启动一个进程,但只有当它尚未运行时我才应该这样做。那么如何知Prop有特定名称的进程是否正在运行呢?有没有提供此功能的Perl模块? 最佳答案 看看以下使用Win32::OLE的示例模块。它允许您搜索名称与给定正则表达式匹配的正在运行的进程。#!perlusewarnings;usestrict;useWin32::OLEqw(in);submatching_processes{my($pattern)=@_;my$objWMI=Win32::OLE

.net - 程序终止自身进程的正确方法是什么(Windows)

C#.NET3.5我有一个控制台应用程序正在被计算机上的另一个应用程序调用。此控制台应用程序持续运行,并从“父”进程的stdin上监听数据。但是,当父级停止或终止时,它启动的控制台应用程序会继续。在正常情况下,它会闲置等待来自标准输入的输入,使用最少的资源。然而,一旦父进程离开,这个控制台应用程序就会使CPU达到峰值,并使它运行的核心资源匮乏,利用率接近100%。这一直持续到我手动终止进程。理想情况下,调用父进程会自行清理,特别是因为这是在正常(非异常)“停止”条件下发生的。不幸的是,这个父进程不在我的手中。我的第一个想法是从控制台应用程序中获取调用父级,并监控其PID。如果父进程消失

c++ - 使用具有相对路径的 CreateProcess

是否可以通过相对路径来创建我的子进程?这段代码可以编译,但会报错,因为我使用的是相对路径。voidCminivideo3App::creerChildProcess(void){STARTUPINFOsi;PROCESS_INFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));//Startthechildprocess.intretvalue=CreateProcess(TEXT("\..\Debug\traitement.exe"),//Nomodulename(use

windows - 复制 Windows XP 上正在运行的进程使用的 dll 是否安全?

这是在WindowsXP上。我有一个正在运行的进程(我想保持运行)。如果我复制它使用的dll(例如,将其替换为较新的版本),这是否会导致正在运行的进程出现问题,或者代码是否已经加载,所以这无关紧要? 最佳答案 您不应该复制正在运行的进程正在使用的dll。为了替换dll,需要将其标记为删除并在下次重新启动时替换。如果您希望手动执行此操作,则需要停止该过程。如果您可以复制它-那么dll没有像您怀疑的那样被使用,如果它被延迟绑定(bind)那么您可以在一个过程中复制它进程没有主动锁定它的时间-并且提供dll的内部结构对事件进程没有任何不利

C++ Windows CreateChildProcess - 隐藏/不显示子进程的控制台窗口

我需要为我的主进程创建一个子进程作为套接字监听器/服务器,我使用此调用来实现目标:bSuccess=CreateProcessA(NULL,cmdLineArgs,//commandlineNULL,//processsecurityattributesNULL,//primarythreadsecurityattributesTRUE,//handlesareinheritedHIGH_PRIORITY_CLASS,//creationflagsNULL,//useparent'senvironmentNULL,//useparent'scurrentdirectory&siStar

c++ - 如何从 Sysinternals Process Explorer 复制环境变量

是否有一种优雅的方法可以将环境变量从ProcessExplorer复制到Process的剪贴板?我试图比较两个C++编译过程,并想看看环境变量有何不同。看来我无法复制文本并随后粘贴它以进行视觉比较。注意我宁愿坚持使用PE而不是使用多种工具,但如果使用其他工具是唯一的选择,请随时提出建议。还将其标记为C++,期望从C++开发人员/调试人员的角度(包括使用VisualC++)获得解决方案 最佳答案 对于仍然感兴趣的任何人,ProcessExplorer16.02版现在能够像Processhacker一样复制进程的属性。我不知道这个能力是

windows - Closehandle() 不终止进程

在CloseHandle()中关闭其句柄后,进程未终止。我有一个由CreateProcess()api创建的进程。即使在关闭其句柄后,它仍在运行。在msdn中,他们说CloseHandle()关闭句柄并且不会终止进程。必须为此调用终止线程。那为什么要CloseHandle()呢?但是当我检查CloseHandle()的返回值时,它成功了。如果是这样,我想知道在这个CloseHandle()中实际做了什么以及它为什么成功返回。我想知道使用它的句柄可以在进程上完成哪些所有操作。我觉得误导了,因为CloseHandle()成功了,但进程仍在继续!进程句柄中实际包含的内容也很棒,与其他类型的句