草庐IT

进程注入

全部标签

.net - 进程被终止后,DLL 仍处于锁定状态

我正在尝试使用PowerShell自动部署Windows服务。我遇到问题的步骤是停止当前版本并将其删除。因为它是一个CI代理,我根本不关心是否正确停止服务,所以我只是用taskkill/f/im:终止了进程。.然后我尝试删除文件,大约3次我得到一个:Exception:Accesstothepath'C:\ProgramFiles(x86)\MirrorService\AWSSDK.dll'isdenied.但DLL仅由我刚刚杀死的进程使用。我试图捕获异常并记录handle.exe输出。日志中没有此DLL的句柄,我可以将其删除。所以,显然taskkill之间存在滞后。完成它的工作,并处

c++ - 获取优先于提升进程的互斥量

我有一个Mutex来避免多个进程同时运行,这些进程可能会在Mutex释放后等待启动。现在我可以有一些实例试图获得一个提升的和非提升的Mutex。一旦Mutex被持有锁的进程释放,我希望提升的进程能够在非提升的进程之前获取Mutex。不太可能,但我想考虑许多未提升的实例和许多提升的实例竞争同一个互斥锁以带来强大的功能。实现该目标的稳健方法是什么?该问题的解决方案可以使用多个互斥量。我在想我可以研究这种方法,将高架和非高架区分开来,并玩点小把戏。编辑:我主要在寻找WindowsVista+的答案,但如果我们将问题减少到优先获取互斥锁的进程类别,我认为该问题适用于其他操作系统。了解其他操作系

C++ 保护进程不被挂起

是否有任何可能的方法来保护exe不被挂起?请注意,我是应用程序的所有者。 最佳答案 SysinternalsProcessExpert等工具允许您暂停任何进程。如果用户具有管理员权限,则无法避免这种情况。ThisSOanswer显示了暂停Windows进程的三种解决方案。然而,有一种方法可以使这变得极其困难:解决方案包括为您的应用程序设置影子进程。应用程序和影子进程然后应监视彼此的挂起状态并在必要时恢复挂起的进程:由于进程必须一个接一个地挂起,这种孪生方法可确保两个进程之一处于事件状态并且可以防止挂起。但是,这种持续监控非常耗费CP

检查(作为普通用户)管理进程是否正在运行(C,Windows)

我正在尝试检查从服务启动的进程是否正在运行。问题是,我们将我们的应用程序从WindowsXP迁移到Windows7。此应用程序的一部分是服务,它会启动一些进程。另一部分是对话应用程序。此对话框应用程序尝试识别来自服务的进程是否正在运行。进程的pids存储在共享内存中,因此我可以使用WinApi中的OpenProcess()获取进程句柄,这适用于WindowsXP。如果我尝试在Windows7上执行此操作,该函数会报错-访问被拒绝。我想,我知道,为什么会这样(Windows7中新的0级隔离),但我需要找到一些解决方法。我的问题是是否可以对创建的进程设置访问权限以及如何设置(请给我一些示例

python - 可以使用 WMI Python 终止进程

我知道可以使用WMI模块在远程Windows机器上创建进程,但我想知道结束进程是否也可以这样说。我无法找到与此相关的线程或任何文档,所以如果你能帮助我,我将不胜感激。 最佳答案 我想出了答案,以防其他人遇到类似问题;你实际上甚至不需要WMI并且可以直接从命令提示符运行:如果您在同一个网络中,您可以通过命令提示符发出命令,格式如下:taskkill/s[计算机名称或IP]/u[USER或DOMAIN\USER]/p密码/pid[要杀死的进程,即notepad.exe]这将需要一些时间,但最终会终止正在运行的进程。

c++ - 从用户模式 ​​win32 应用程序可靠地找到当前进程的 _write() 函数的地址

我正在编写一个应用程序,可以从系统上的任何用户模式进程捕获stdout/stderr和调试消息,并将其打印到控制台。由于程序的性质,无论是GUI、Windows服务等,我过去一直在编写程序的情况有几种……;看不到控制台输出,仅仅是因为没有控制台。解决此问题的明显方法是将打印语句更改为调试打印语句,例如OutputDebugString(),然后附加调试器并查看输出。有时设置调试器并查看所需的输出可能很棘手,尤其是在内核模式调试中。理想情况下,我正在编写的这个应用程序将允许您指定一个PID(并最终将处理驱动程序,现在不用担心)——并且无需作为调试器附加到该应用程序,它将显示所有输出到调试

c++ - 管理进程如何在登录用户中打开应用程序?

概览过程用C++编译运行的exe/dll场景登录(win7)标准用户帐户(无管理员)运行流程以管理员身份进程使用ShellExecute打开一些应用程序(exe)问题应用程序在管理员用户的范围内打开期待应用在标准用户范围内打开解决方案1。CreateProcessAsUser使用CreateProcessAsUser(假设我成功获得了hToken应该已经解决了这个问题)。但是,我收到调用失败的错误代码1314-ERROR_PRIVILEGE_NOT_HELD.回到文档告诉我:IfthisfunctionfailswithERROR_PRIVILEGE_NOT_HELD(1314),us

windows - 授予 IUSR 使用 PowerShell 停止进程命令的权限?

我有一个PHP脚本,它通过shell_exec()运行PowershellStop-Process命令。PHP作为IUSR运行。当我运行脚本时,我收到一条访问被拒绝的错误消息。如果我使用我的管理员帐户在PowerShell中运行该命令,它会按预期工作。如何授予IUSR在Powershell中执行Stop-Process的能力? 最佳答案 我无法找到授予IUSR执行Stop-Process特定权限的解决方案,但我能够通过更改与从IUSR到Administrator的kill脚本。在IIS8.5中,转到站点->我的站点->文件夹名称。在

c++ - 进程列表及其子进程

在我的一个组件中,我需要在某个数据结构中维护所有进程,这些数据结构将在进程创建和终止时填充。这种数据结构在查找方面必须超快。将查询此数据结构以获取任何进程ID的子进程列表。我不确定我应该在这里使用什么数据结构。{ParentProcessId}-{子进程ID列表}每次创建/终止进程时都会填充此列表以更新数据结构。 最佳答案 我不得不在我的一个项目中创建一个类似的数据结构。我发现std::map连同std::unordered_set是存储这些信息的最佳容器。map>PCMap;注意:我使用了一组而不是列表,因为我不想在我的列表中有多

python - 通过Python计算进程cpu使用率

我正在尝试(通过pid)获取进程cpu使用情况。我对此做了一些研究,发现我可以使用GetSystemTimes()函数来计算它。我在这个链接中找到了计算:http://www.codeproject.com/Articles/10258/How-to-get-CPU-usage-of-processes-and-threads我需要用Python编写这段代码,但我不知道该怎么做。所以我找到了这段代码:https://sites.google.com/site/cadspython/home/modules/calcprocesscpuusage-py我试图运行它,一切正常,但是当我运行