草庐IT

【JavaEE】浅识进程

全部标签

python - 从 Windows 中的子进程检索标准输出

我可以使用subprocess.Popen调用FFmpeg并检索我需要的数据,因为它发生(以获得进度),但只能在控制台中。我环顾四周,发现您无法“实时”获取数据whenrunningwithpythonw.然而,等到进程完成以检索数据是没有实际意义的,因为我试图在FFmpeg周围包装一个PyQTGUI,这样我就可以有漂亮的进度条等等。所以问题是,您可以在使用pythonw时从子进程调用中检索“实时”数据吗?我还没有尝试使用py2exe将应用程序简单地编译为Windows应用程序,这样可以解决问题吗? 最佳答案 process=sub

c++ - 将 Ctrl+C 注入(inject)目标进程

我有一个进程,它通过调用SetConsoleCtrlHandler来获得CtrlBreak处理程序。此处理程序监听CTRL_BREAK_EVENT并执行一些操作(不退出)。此进程未附加到控制台。我们称其为目标进程。接下来,我编写了一个单独的程序,它接受一个PID,我想在kernel*!CtrlRoutine的地址启动一个远程线程,以便目标进程的CtrlBreak处理程序是执行,例如:hRemoteThread=CreateRemoteThread(hRemoteProc,NULL,0,(LPTHREAD_START_ROUTINE)dwEntryPoint,(void*)CTRL_BR

windows - 当一个进程与其他进程结合运行时,观察到句柄泄漏

我的一个可执行文件在单独运行时打开了大约330个句柄。当它与另一个特定进程结合运行时,它会泄漏许多句柄。我使用了sysinternals的“句柄”实用程序来检查在这两种情况下打开的所有句柄是什么。当此进程与其他特定进程结合运行时,它具有以下句柄条目的额外内容。578:Process57C:Thread580:Process584:Thread588:Process58C:Thread590:Event598:Process59C:Thread5A0:Process5A4:Thread5A8:Process5AC:Thread5B0:Process5B4:Thread5B8:Event这

windows - 如何杀死用open()打开的进程

我正试图终止我在Win32(XP)上用Perl在后台打开的进程我尝试了几件事……似乎没有用……$pid=open(CMD,"|cmd.exe>C:\\cmdout.txt");为了杀死这个后台进程尝试了几种方法....:(system('taskkill/F/IMcmd.exe');system("taskkill/F/pid$pid");关闭CMD||警告“cmd退出$?”;选项2从不工作尝试打印PID打印的值与系统中的实际值不同。选项1有效,但我觉得该过程仍在后台运行,因为在我结束该过程后,我等待一段时间并重新启动该过程...请帮忙-谢谢 最佳答案

windows - 在所有未使用的情况下,进程外 COM 服务器最终是否应该停止?

我发现一个进程外的COM服务器以这样的方式实现(据推测是由于错误),如果客户端调用CoGetClassObject()然后从不尝试用服务器检索到的工厂实例化任何东西进程永远运行。COM服务器不是作为服务启动的,它是一个普通的可执行文件。在描述的场景中,客户端不会调用IClassFactory::LockServer(),所以这个问题是要完全忽略那些“服务器锁”。这是正确的行为吗?进程外COM服务器是否应该在一段时间内没有为对象提供服务后始终停止,或者是否应该存在进程外COM服务器即使不为任何对象提供服务也应该连续运行的情况? 最佳答案

windows - 在不重置剪贴板链的情况下中止进程会导致麻烦吗?

我有一个调用SetClipboardViewer的程序在启动时注册剪贴板更改通知。在关机时,它会调用ChangeClipboardChain正确地从链中删除自己。只要程序正常运行,一切都很好。但这让我想知道,如果程序被中止,会发生什么情况,要么是我在调试器下杀死它,要么是崩溃,要么是用户因为出错而杀死了进程?然后清理永远不会发生。这会以某种方式给系统带来麻烦吗?具体来说,我知道Windows可以毫不费力地删除我的查看器,因为它是一个句柄,并且Windows可以在进程终止时清理所有句柄,但这会导致链下游的下一个值,我持有一个引用,以某种方式迷路? 最佳答案

windows - Windows 中的进程间条件变量

我知道我可以使用条件变量来同步线程之间的工作,但是是否有任何类likethis(conditionvariable)来同步进程之间的工作,在此先感谢 最佳答案 使用一对已命名的Semaphore对象,一个作为信号,一个作为锁。Windows上的命名同步对象是自动进程间的,它会为您处理这部分工作。像这样的类就可以了。classInterprocessCondVar{private:HANDLEmSem;//UsedtosignalwaitersHANDLEmLock;//Semaphoreusedasinter-processlock

windows - 进程运行时清空日志文件?

今天我运行了一个批处理脚本。实际上,它仍在运行,所以我希望在为时已晚之前找出解决方案。my_script.bat>output.log事实证明,该日志文件比我预期的要大得多。哎呀!所以我想截断它。所以我尝试了这个,但失败了:echo.>output.logTheprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess.呃哦。它适用于Linux,所以我想我只是假设它也适用于Windows。我能做什么?我可以停止我的批处理脚本,然后使用更智能的日志记录重新启动它。我的脚本如下所示:echo"Firstiteration"m

.net - 如何获取调用进程 Windows 用户访问 token

如何为创建调用我的应用程序的进程的用户获取访问token?我需要使用该token进行模拟,目的是访问该用户应用程序数据中的文件。附言将模拟用户的应用程序是在系统下运行的服务。 最佳答案 查看MSDN,所有这些API都有详细的文档记录。你可能想做这样的事情:HANDLEthisToken,thisProcess;thisProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,GetCurrentProcessId());OpenProcessToken(thisProcess,TOKEN_ALL_AC

Windows 资源管理器获取所选项目的列表并将其传递给另一个进程

我必须创建文件/文件夹管理系统。用户可以在其中选择多个文件/文件夹并从上下文菜单中执行命令。该命令发送所有选定文件/文件夹列表的列表以调用进程。这样,进程就可以处理文件/文件夹列表。如果进程正在运行,上下文菜单不应显示或变灰。我添加了上下文菜单,但找不到禁用它的方法。我怎样才能做到这一切?任何可能的学习链接都会有很大帮助吗? 最佳答案 您的IContextMenu::QueryContextMenu处理程序可以应用您想要的任何逻辑来确定是否显示/隐藏菜单项,如果显示,它是启用还是禁用。但是请注意,由于CLR注入(inject)问题,