草庐IT

python进程间通信

全部标签

windows - 如何判断打印机是否支持双向通信

我正在使用PrintSpoolerAPI来自动执行一些打印机管理任务;目前我从事某些需要双向通信的功能,这不是问题(发送BIDI请求和读取输出数据按预期工作)但在尝试执行请求之前,我想确保acual设备支持BIDI通信(以避免任何COM异常)。有关PrintSpoolerComponents的文档解释说,应用程序和驱动程序都必须实现双向通信接口(interface);当然我是为我的应用程序做的(否则无法发送请求),但驱动程序通常由第三方提供。此外,打印提供程序DLL必须实现SendRecvBidiData函数...由于Enablebidirectionalcommunication选项

python - 在另一个程序/脚本中实时使用 Sysinternals Process Monitor 的输出

我正在编写一个脚本,该脚本应检查某些系统事件(例如打开文件或更改注册表项)并根据这些事件启动进一步的操作。但是我还没有找到一种干净的方法来将信息放入我的脚本中。我正在寻找一种方法将SysinternalsProcessMonitor的输出输入到另一个程序中。这应该在没有用户交互的情况下近乎实时地发生;所以保存到CSV/XML中并使用它是行不通的。我已经检查过使用支持文件,但这是ProcessMonitorPML格式,我没有发现任何地方都有记录。有人知道如何将ProcessMonitor的输出输入到我的脚本中吗?或者其他(不太困惑)的方法来将打开的文件、注册表项等的实时列表获取到pyth

c++ - 使用 gdb 附加到尚未启动的进程

我正在调试一个cygwingcc编译进程,该进程将通过CreateProcess从nativeWindows程序加载。我想在main之前设置一个断点,例如mainCRTStartup。如何附加到尚未加载的进程并在mainCRTStartup设置断点?注意如果重要,那不是XY问题。我正在分析Windows2012R2中可能存在的错误,需要跟踪从调用CreateProcess到加载进程的主入口点传递的整个命令行。在我接触MS之前,我需要确定问题出在哪里。我还需要使用gdb,因为WinDBG可能无法源调试cygwingcc编译的二进制文件。我尝试了什么使用gflags,我尝试在图像加载时调用

c++ - 如何限制进程可用的内存?

这个问题在这里已经有了答案:SetWindowsprocess(oruser)memorylimit(5个答案)关闭8年前。假设我有两个进程。一个关键,一个很高兴有流程。现在,假设进程开始泄漏内存是件好事。如何阻止泄漏进程耗尽所有系统内存并导致关键进程崩溃或变慢?我希望非关键进程在使用的内存超过特定阈值时简单地终止或抛出std::bad_alloc。

c# - 有没有办法将任意数据关联到 Windows 进程?

我在服务器上编写了很多流程实例。我想将一些信息与每个过程相关联。在这种特定情况下,我想存储进程的“CurrentState”——“RUNNING|DRAINING|STOPPING”,但存储“FriendlyName”等对我来说会很有用。我想从另一个“母”进程查询此信息-这个母进程将查询正在运行的进程并整理数据。我想到了几种不同的方法来实现这一目标。例如,我可能会为每个感兴趣的进程打开一个NetPipe并请求数据,或者让每个进程定期广播它的状态。我想知道:有没有一种方法可以针对Windows本身内置的进程存储键值对信息?是否有可接受的模式来执行此操作?我控制子进程和母进程的源代码。它们

python - Scrapy安装报错pip和easy_install

我正在尝试在Windows上安装Scrapy,并已按照Scrapy安装指南中的步骤安装所有依赖项。但是,当我尝试使用easy_install时收到以下错误消息:Downloaderroronhttps://pypi.python.org/simple/Scrapy/:**[Errno10061]Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit--Somepackagesmaynotbefound!**Couldn'tfindindexpagefor'Scrapy'(maybemisspelled?)Scann

python - Windows 上不一致的 Python 性能

我有一些正在处理的Python2.7代码,它在任何*nix类型的系统上都运行良好。但是,在Windows上,同一段代码的执行时间将大相径庭。请注意下面我的调试输出。t是每次通过的总时间,s是生成数据的时间,u是通过串行方式将该数据发送到我的设备的时间(均以毫秒为单位)。t:9-s:3-u:6t:14-s:9-u:5t:9-s:3-u:6t:9-s:3-u:6t:15-s:8-u:7t:14-s:9-u:5t:11-s:5-u:6t:15-s:9-u:6t:14-s:9-u:5t:13-s:8-u:5t:15-s:9-u:6t:15-s:9-u:6t:14-s:8-u:6t:11-s:6

c - 终止进程树(Windows 的 C)

之前有人问过这个问题,但我无法在代码中找到明确的答案。我打开一个进程,ProcessA(PID1234)。该进程打开一个子进程ProcessAB(PID5678)。完成后,我终止了ProcessA,但ProcessAB仍然挥之不去。如何终止整个进程树?我的意思是,我如何确保如果我终止我打开的进程,我也会终止所有关联的进程?谢谢感谢代码。 最佳答案 检查thisthread用于在“作业”中对流程进行分组。如果这对您不起作用,则本土方法可能如下所示:获取您的主进程ID调用CreateToolhelp32Snapshot枚举系统上的所有进

c++ - 如何允许 SYNCHRONIZE 对所有进程的访问权限

我有一个Windows服务,我希望其他进程(不同用户的进程,一些具有低权限)等待它的句柄。意思是,Windows服务进程HANDLE上的其他进程WaitForSingleObject()。为了让其他进程能够等待服务进程,他们需要OpenProcess()和SYNCHRONIZE访问权限,但是我如何确保其他具有较低权限的进程可以获得SYNCHRONIZE访问权限???我可以强制我的进程(windows服务)允许对所有人进行SYNCHRONIZE吗? 最佳答案 我是这样解决的。使用SetSecurityInfo无效,因为用户本身没有访问

python - 安装 Python 2.7.8(64 位)而不替换现有的 Python27 安装

在Windows7上,是否可以安装Python2.7.8(64位)而不替换现有的Python27(64位)安装? 最佳答案 我同意BurhanKhalid的观点,但要注意PATH。确实,如果您通过双击窗口执行.py,则获取PATH变量中定义的Python可执行文件。如果您使用命令行界面来执行Python文件,您将不会遇到任何问题。这是由于python27.dll文件。当我们安装Python2.7.x时,它使用位于C:\Windows\System32\的dll文件(C:\Windows\SysWOW64在64位平台)请按照以下步骤操