草庐IT

python进程间通信

全部标签

python - .py 文件打开 PyCharm 而不是运行脚本

我已经编写了一个python脚本(我们称它为myTest.py)并希望从Windows命令提示符启动它。我的python解释器已添加到PATH环境变量中,因此我可以像pythonmyTest.py一样启动它并成功执行。不过,我想通过在命令提示符中简单地键入myTest.py来启动它。但如果我这样做,文件将在PyCharm中打开并且不会执行。我检查了assoc.py给我.py=Python.File,还有ftypePython.File给了我Python.File="C:\WINDOWS\py.exe""%L"%*。据我了解,应该在给定路径上使用py.exe启动.py文件。(如果你像我一

python - 是否可以在 Python 的线程内生成进程?

我正在编写一个生成进程并在特定条件下重新启动进程的程序。比如子进程不再给母进程发送数据,一段时间后,我想让母进程终止子进程,重新启动。我以为我可以使用线程从子进程接收数据并重新启动子进程,但它并不像我想的那样工作。importnumpyasnpimportmultiprocessingasmpimportthreadingimporttimefromapscheduler.schedulers.backgroundimportBackgroundSchedulerpipe_in,pipe_out=mp.Pipe()classMother():def__init__(self):self

c++ - 使用来自系统级进程(Windows 服务)的登录用户上下文模拟和运行任何方法 :

我已经创建了一个模板类,它将创建一个带有登录用户token的线程并运行任何方法。我在std::function的帮助下将它传递给模板类,并在用户级上下文中运行它。我目前的使用情况:1.该类用于windows服务进程(以SYSTEM级别运行)。2.线程在挂起状态下创建,SetThreadToken()用于应用从“explorer.exe”创建的模拟token。(我知道在多个登录用户的情况下这不是一种可行的方法,但暂时我需要这个东西来解决问题)。3.在这些之后,我将恢复线程以在用户级上下文中执行传递的util方法。引用的线程模拟来自:Createthreadwithspecificpriv

python - 如何创建包含变量和注释的正则表达式?

我想创建一个包含注释和变量的正则表达式。我以为我会像这样拆分字符串,但它不起作用:importreregex=re.compile(r'''^(sm\d{5}-[a-z]+-\d{2})#studynumber'''+doctype+r'''#documentv(\d+)-(\d+)#versionnumber\.pdf$#pdfextension''',re.VERBOSE) 最佳答案 将您的正则表达式模式分成多个字符串,然后使用"".join()将它们组合成一个字符串,就像这样importrepattern="".join(["

windows - 这段汇编代码在做什么 - 写入进程内存

编辑/更新所以我认为让我感到困惑的是:LEAESI,[EBX+8*EAX+4]加载一个地址,但是:LEAESI,[EBX+4]加载内容(值?)而不是地址。这怎么不是取消引用?我也不知道是什么mov[eax+1],ecx是吗?原始问题我正在努力学习阅读汇编,但我开始挣扎了。抱歉,如果有拼写错误,我无法从我的实验室机器上复制。这是来自恶意代码,因此它可能不是最佳的。我想我在某处理解有缺陷,但我就是想不通。var_30=byteptr-30hleaeax,[ebp+esi+var_30]我的理解是,加载有效地址将成为从[basepointer-30h+esi]计算出的任何地址。我不知道esi

python - 使用标准输入管道控制 Windows 控制台应用程序

我正在尝试使用subprocess模块从Python控制控制台应用程序(Segger的JTAG应用程序)。该应用程序对于stdout的行为正确,但似乎没有读取stdin。如果启用shell,我可以输入输入并控制应用程序,但我需要以编程方式执行此操作。相同的代码可以很好地向cmd.exe等发出命令。我猜是直接读取键盘而不是标准输入。有什么想法可以发送应用程序输入吗?fromsubprocessimportPopen,PIPE,STDOUTjtag=Popen('"C:/ProgramFiles/SEGGER/JLinkARM_V402e/JLink.exe"',shell=True,un

windows - 如何在从 Win32::Process 启动的 Perl 进程中获取输出?

我有一个Perl脚本,它通过Win32::Process在新控制台中启动另一个Perl脚本如下:Win32::Process::Create($ProcessObj,"C:\\Perl\\bin\\perl.exe","$path_to_other_perl_script",0,NEW_CONSOLE,".");$ProcessObj->Suspend();$ProcessObj->Resume();$ProcessObj->Wait(0);问题是,在创建的新控制台中没有标准输出。如果我不使用新的控制台选项,脚本会在后台静默运行。如果我使用cmd.exe启动Perl脚本,我可以很好地看

python - Python从注册表中读取HKEY CURRENT USER,指定用户

在我的应用程序中,我在几个不同的用户帐户下运行子进程。我需要能够读取这些子进程写入注册表的一些信息。每个人都在写入HKEY_CURRENT_USER,我知道他们正在运行的用户帐户名。在Python中,如何从HKEY_CURRENT_USER读取特定用户的值?我假设我需要以某种方式加载用户名下的注册表值,然后从那里读取它们,但是如何呢?编辑:为了清楚起见,我的Python程序以管理员身份运行,我有帐户“user1”、“user2”和“user3”,每个帐户在自己的HKEY_CURRENT_USER中都有信息。作为管理员,我如何读取用户1的HKEY_CURRENT_USER数据?

windows - 如何在Windows上自动监控和限制进程资源

在Linux上,通常我使用ptrace函数来跟踪所有系统调用,如果它试图做任何对我的机器有害的事情,比如system("shutdown-s-t00")左右。我有办法在Windows上执行此操作吗?编辑:我想编写沙盒程序来限制它的子程序的时间和内存使用,它可以在Windows和Linux上运行,现在它只能通过ptrace在Linux上运行 最佳答案 如果您将流程附加到Jobobject,您可以限制进程的CPU时间和内存。这不会让您阻止if执行恶意操作,但可以让您实现您的要求。 关于win

python - 如何在 Ubuntu(最好是 Windows)中启动一个接受键盘输入的 Python 屏幕保护程序?

我正在用Python开发一个供家庭使用的小型应用程序。它应该充当幻灯片放映屏幕保护程序,但也可以充当原始图像管理器。我已经涵盖了幻灯片放映和图像管理器方面(我正在使用Tkinter),但我还没有实现屏幕保护程序位。因此,从命令行启动应用程序工作正常。我正在运行Ubuntu,因为我需要应用程序能够接受键盘输入,所以我认为我不能使用xscreensaver/gnome-screensaver框架,因为它会捕获所有内容并显示登录对话框。我很想在这里被证明是错误的(这么多年后回到xscreensaver会很好:))。我想到的解决方案是使用PyXSS检测用户何时空闲并自行管理屏幕保护程序。但最好