草庐IT

Python多进程编程

全部标签

c# - 获取传递给新进程(不是当前进程)的 Windows 环境变量

如何获取通过开始菜单传递给新进程的完整环境变量集,而不是传递给我的进程的环境变量集?或者如何使用这组环境变量启动进程?(从技术上讲,我不需要在初始过程中访问它们)这些可以发散,例如,如果我的进程启动,然后用户使用环境变量GUI来修改它们。用例:我正在编写一个启动器实用程序,其行为类似于开始菜单,用于启动应用程序。一个合适的解决方案需要做到以下几点:获取机器和用户环境变量合并来自机器和用户的PATH变量(是否合并任何其他变量?)获取HOMEDRIVE、HOMEPATH、USERNAME、USERPROFILE以及System.Environment.GetEnvironmentVaria

Windows 上的 Python Unicode 文件名\x01

我有一个Python脚本,它生成一堆具有各种Unicode文件名的文件以用于测试目的。它在OSX和Linux环境中运行良好。在Windows(更重要的是AppVeyor)上,它无法创建一些文件,提示文件名无效。这是一个非常小的版本:withopen("\x01","w")asf:f.write("foo")我得到的错误是:Traceback(mostrecentcalllast):File"genTestRes.py",line51,inos.mkdir(os.path.join(TESTDIR,data))OSError:[WinError123]Thefilename,direct

windows - TaskList 未检测到/不支持超过 21 个字符的进程名称

我希望我的批处理文件在继续代码之前检查进程名称是否存在并且正在使用TaskList运行,但不幸的是,如果进程名称超过21个字符,它将无法工作。有什么方法可以取消字符限制或支持超过21个字符的进程名称?我尝试使用任何其他不超过21个字符的进程名称,代码运行完美。我没有尝试任何其他方法,因为我一直在网上查找但找不到与我的确切问题匹配的任何内容,或者不知道为什么它不会检测到太长的进程名称。我减少了我的代码,使其更短且更易于理解。@echooffsetProcessName=PROCESSNAMEfor/f"tokens=4-7delims=[.]"%%iin('ver')do(if%%i==

python - 无法在 Windows 上打开 Grakn Visualizer

我是grakn的新手。我已经在Windows10上安装了Grakn1.5.6,带有PythonGrakn和GraknClientAPI。我能够启动Grakn服务器并创建模式。我还能够使用PythonAPI将数据插入模式。我无法从localhost:4567打开Visualizer。我找不到他们说我们可以更改端口的grakn-engine.properties文件。如果有人遇到同样的问题并且能够解决,请指导我。是否有任何我可能需要做的配置更改,以获得graknVisualizer。谢谢不锈钢 最佳答案 Grakn不再有网络可视化工具。

windows - 如何在 Python/Go/C/Batch 中获取 Windows 中的扩展文件属性?

我进行了大量搜索并找到了一些关于如何获得扩展FA的发现,但它们是在C#中使用该语言自己的内置API。我想在Windows中查找文件的作者姓名,但我的要求是在Go/Python/C/Batch中(优先级顺序)。在python中,第三方包(exifread和hach​​oir_metadata)不工作(没有给出示例doc/xlsx文件的任何结果。可能我通过pip-install安装的包是错误的)。是否有任何其他方式或任何用户级MSDNAPI可用?如果有这方面的经验,请告诉我。谢谢。 最佳答案 在C、C++或其他语言中,您可以使用IPro

python-3.x - 如何使用具有管理员权限的子进程停止和启动 Windows 服务?

我正在构建一个python工具来更新应用程序。为此,我必须停止Apache服务,做一些与更新相关的事情,然后在更新完成后重新启动它。我目前在Windows10上使用python3.7.2。我试图以某种方式使用这些问题作为引用来构建一个工作流程:Runprocessasadminwithsubprocess.runinpythonWindowscan'tfindthefileonsubprocess.call()Pythonsubprocesscallreturns"commandnotfound",TerminalexecutescorrectlydefstopApache():pro

python-3.x - 如何检查 Python venv 在 Windows 中是否处于事件状态?

我正在寻找一种方法,从WindowsCMD或Powershell中检查是否已激活Python虚拟环境。在Bash中,可以使用此条件来检查venv是否处于事件状态。if[["$VIRTUAL_ENV"!=""]]我也曾在Bash中看到过这种做法,我可能可以让它在Windows上运行,但感觉就像是一种hack,尽管我们都喜欢好的hack,但我觉得应该有一个更好的方法。PYTHON_ENV=$(python-c"importsys;sys.stdout.write('1')ifhasattr(sys,'real_prefix')elsesys.stdout.write('0')")是否有任何

c# - 使用 Windows 进程备份 IIS 设置

我可以用下面的命令备份IIS的设置//sitesC:\Windows\system32\inetsrv\appcmd.exelistsite/config/xml>C:\Temp\iis_config_sites.xml//apppoolsC:\Windows\system32\inetsrv\appcmd.exelistapppool/config/xml>C:\Temp\iis_config_apppool.xml当我从命令提示符运行这些命令时,它工作正常。XML文件已创建。但我想通过使用System.Diagnostics.Process从C#代码执行此命令来自动执行此过程。为此

python - 如何通过 python 脚本使用多处理或任何其他模块序列化 msiexec.exe 安装?

我有一个自动化的jenkins作业,它通过python脚本运行msiexec.exe安装。可以在同一台机器上使用不同的参数启动同一脚本的多个实例。由于msiexec.exe一次只能处理1个安装,任何启动的并行安装都会引发错误并且jenkins作业挂起!为了避免并行安装,我添加了一个while循环来检查是否有任何msiexec任务正在运行并等待它完成。但这仍然不是万无一失的,因为我看到了一些竞争条件问题。需要序列化的步骤:subprocess.check_call('msiexec/a'install.msi')while循环已经实现:while"msiexec.exe"inos.pop

windows - 阻止 MSVC++ 调试错误阻止当前进程?

Windows上任何失败的ASSERT语句都会导致出现以下调试消息并卡住应用程序执行。我意识到这是预期的行为,但它会在headless机器上定期运行,因此可以防止单元测试失败,而是无限期地等待用户输入。是否有注册表项或编译器标志可用于防止此消息框请求用户输入,同时仍允许测试在ASSERT下失败?基本上,我想在不修改任何代码的情况下执行此操作,只需更改编译器或Windows选项。谢谢!MicrosoftVisualC++DebugLibraryASSERThttp://img519.imageshack.us/img519/853/snapshotbu1.png