草庐IT

多进程架构

全部标签

c++ - 如何在 C++ 任务管理器上更改进程的名称?

我有一个进程,名称为“processName”,可执行文件为“processName.exe”。我想启动这个进程并更改它在任务管理器中的显示方式的名称。我不能只重命名可执行文件,因为我想在名称中留出空间。例如,它在任务管理器中应该看起来像“ProcessNamesomethingelse”。我可以看到一些程序这样做,例如命令提示符可执行文件名称是“cmd.exe”,但命令提示符上的名称是“Windows命令处理器”,它的名称中有空格。 最佳答案 应用程序/任务名称是主窗口的标题(它自己的一章)。您可以使用SetWindowText更

python - 如何在 Windows 上设置 python 多进程

我正在使用multiprocessingPython3.5.2(v3.5.2:4def2a2901a5,Jun252016,22:18:55)[MSCv.190064bit(AMD64)]onwin32中的模块.我正在尝试使用网上找到的最简单的玩具代码:frommultiprocessingimportProcessdeffoo():print('hello')p=Process(target=foo)p.start()我试过使用和不使用if__name__=="__main__":我不断收到错误:OSError:[Errno22]Invalidargument:'C:\\Users\

c++ - DuplicateHandle() 是否进行任何进程间通信 (IPC),如果不进行,为什么要使用目标参数?

我正在寻找DuplicateHandle()非常困惑。第三个和第四个参数hTargetProcessHandle和lpTargetHandle似乎暗示这个API函数进行某种形式的进程间通信,但我在网上阅读的内容似乎暗示(没有直接说)实际上这个函数不能与外部的任何东西通信它自己的进程的地址空间,如果你真的想说将本地进程句柄复制到另一个进程,你必须自己手动完成。所以有人可以可怜我并明确地告诉我这个函数本身是否有任何IPC吗?另外,如果它不执行任何IPC,那么这两个参数的意义何在?如果没有发送数据并且此函数的输出对其他进程不可见,怎么会有“目标”?起初我以为我可以调用GetCurrentPr

windows - 如果一个进程建立了多个 PostgreSQL 连接并在没有关闭它们的情况下终止,会发生什么?

我正在为购买的软件编写DLL。该软件将对某些任务执行多线程计算。我的工作是将相关结果输出到数据库中。但是由于软件支持有限,多线程输出数据有一定难度。关键问题是没有关于DLL函数最后一次执行的信息。因此,数据库连接不会被关闭。那么请问,如果我保持连接打开并终止进程,可能会出现什么问题?我的平台是winserver2008和PostgreSQL10。 最佳答案 我不明白你提供的背景信息,但我可以回答这个问题:如果PostgreSQL客户端进程在没有关闭数据库(和TCP)连接的情况下终止,则为该连接提供服务的PostgreSQL服务器进程

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

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

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

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

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

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

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#代码执行此命令来自动执行此过程。为此

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

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

c++ - Vista 中提升的进程不会覆盖文件

我正在尝试从另一个主机进程运行提升的进程,例如file_copier.exe,在Vista上使用ShellExecuteEx和lpVerb="runas"。它显示UAC对话框并以提升的方式运行,并将文件复制到“危险”文件夹,但它不会覆盖现有文件(exe)。我在这里读过:http://www.codeproject.com/KB/vista-security/UAC__The_Definitive_Guide.aspxUAC实际上不会覆盖现有文件,而是将新文件存储在某种缓存中。但我无法弄清楚(如果是这样的话)如何让它实际覆盖现有文件。感谢您的帮助。 最佳答案