草庐IT

python进程间通信

全部标签

.net - 是否可以从另一个进程捕获 "file not found",然后将文件返回给该进程?

我有一个在目录中查找文件的遗留应用程序。它不能很好地处理丢失的文件。我想要做的是“捕获”文件未找到错误,然后将另一个文件发送回调用应用程序。类似于您在网络服务器上处理404错误并根据请求的URL返回内容的方式,但在本地文件系统上除外。这可能吗?更可取的是,在.Net中是否可行? 最佳答案 您可以通过拦截对WinAPI函数CreateFile的调用来做到这一点。这需要dll注入(inject)。在.NET中,您可以使用此库:easyhook.codeplex.com 关于.net-是否可以

c++ - 进程 ID 和进程名称

我正在创建一个基本上扫描系统以查看特定进程是否正在运行的Windows程序。我有进程名称(AcroRd32.exe),没有别的。据我所知,最简单的方法是使用CreateToolhelp32Snapshot创建所有进程的快照,然后遍历每个进程以查找进程名称。我的应用程序以高性能为中心。那么有没有更好更有效的方法来做到这一点。应用程序每隔几秒收集一次快照。在快照中迭代100个进程似乎效率不高。是否有直接的API可以通过进程名称找到进程(并通过名称检索进程句柄或ID)?我进行了广泛的搜索,但运气不佳。有人试过这个吗? 最佳答案 扫描进程的

python - 如何在 windows 7 64 下为 python 安装 httplib2?

只有我能找到的说明涉及unix/linux吗? 最佳答案 cdhttplib2-0.6.0pythonsetup.pyinstall 关于python-如何在windows764下为python安装httplib2?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5956891/

python - 在 Windows 上设置 Python 终端编码

我碰巧在Windows上的Python终端中设置字符编码失败。根据官方指南,这是小菜一碟:#-*-coding:utf-8-*-好的,现在测试:print'Русский'生成一blockmojibake。哪里做错了?P.S.IDE是VisualStudio2010,如果重要的话 最佳答案 你应该使用unicode:printu'Русский'或切换到python3(默认为unicode)。 关于python-在Windows上设置Python终端编码,我们在StackOverflow

python - 如何从 base64 编码的字符串创建临时文件?

如何从编码字符串创建一个文件到临时文件中,然后执行它? 最佳答案 您可能会对tempfilemodule感兴趣,以及base64和execfile.顺便说一句,您可能想提供更多有关您要完成的工作的详细信息。这听起来很有可能是一个坏主意、不必要的工作,或者两者兼而有之。 关于python-如何从base64编码的字符串创建临时文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6

c++ - 如何保护两个进程之间共享内存中的字符串?

我有一block共享内存,其中包含两个进程之间的一个char字符串和一个整数。进程A写入它,进程B读取它(反之亦然)确保进程A不会在进程B正在读取它的同时更新(写入)它的最有效方法是什么?(我应该只在共享内存中使用标志,使用信号量,临界区....)如果您能指出正确的方向,我将不胜感激。谢谢。Windows,C++ 最佳答案 您不能使用CriticalSection因为这些只能用于同一进程内线程之间的同步。对于进程间同步,您需要使用Mutex或Semaphore.两者的区别在于前者只允许一个线程拥有一个资源,而后者最多允许一个最大数目

python - 在不同的目录中安装库

我想在我的系统上安装pygame,但我不想将标准库与第三方库混合使用。如果我将pygame安装在不同的路径上,我该如何修改sys.path以便解释器知道在哪里查找? 最佳答案 这可能有点矫枉过正,但您是否考虑过使用virtualenv?它会让你有一个虚拟的Python安装,除了你想保持独立的库之外,所有的东西都使用标准。 关于python-在不同的目录中安装库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

windows - 是否可以通过命令行标记 Windows 进程的描述?

假设我想在Windows命令行中运行一个名为Foo.exe的程序。当我查看TaskManager->Processes时,有没有一种方法可以标记该进程的“描述”字段?顺便说一句,exe不是我的/我无法编译它。 最佳答案 任务管理器显示的描述字段是从可执行文件的版本资源中读取的。所以当你开始这个过程时你不能改变它(标记它)。如果您想影响那里出现的内容,那么您需要修改可执行文件,我认为这不是您想要做的。 关于windows-是否可以通过命令行标记Windows进程的描述?,我们在StackO

python - 如何 "conditionally compile" python

是的,我知道,但这是总结我想做的事情的唯一方式。打开我想使用的串口:portfd=os.open(portname,os.O_RDWR|os.O_NONBLOCK)问题是O_NONBLOCK在windows下是不存在的,也就是说这里炸了。我正在Windows下测试在支持非block的操作系统下部署。所以我真正想要的是让O_NONBLOCK消失,或者让它为Windows环境#defined0,这样我就可以在没有错误的情况下开展我的业务。有什么想法吗?PS:请不要解释python是如何编译/解释的。我明白了,但我只是想传达一个想法。 最佳答案

python 3.2.3 : Socket takes longer to timeout than it should?

我在Windows7上使用Python3.2.3,我有一段代码使用阻塞套接字连接到服务器,并具有用户指定的超时值。代码很简单:testconn=socket.create_connection((host,port),timeout)代码工作正常,除了奇怪的事实,即超时似乎比无效请求花费的时间更长。我尝试故意连接到www.google.com:59855(随机端口应该意味着它应该尝试连接直到达到超时),超时为5秒,但似乎至少需要15秒才能超时。是否有任何可能的原因和/或任何修复?(如果它无法修复,这不是一个大问题,但无论如何,我们将不胜感激。)提前致谢。 最