草庐IT

【JavaEE】进程和线程

全部标签

windows - IO.popen(my_cmd) - 子进程何时完成?

pipe=IO.popen("my_cmd2>&0")while???line=pipe.getsputslineifsome_conditionend这是在Windows上使用Ruby1.8.7。my_cmd是一个将数据库记录打印到标准输出的应用程序。每条数据库记录一行,在我运行命令之前无法知道会有多少条记录。每个gets调用返回一条记录。每个gets调用也可能需要一段时间。它通过网络连接到一个非常大的数据库,因此获取调用不会是即时的。我正在很好地处理输入。问题是,循环永远不会结束。my_cmd在到达数据库末尾时终止。我的Ruby脚本如何知道my_cmd何时完成????在我上面发布的

java - 该进程无法访问该文件,因为它正被另一个进程使用

我有一个用C编写的程序,它会在运行2小时后重新启动我的Java应用程序。首先,我使用批处理文件运行我的java程序,@echooffjava-server-Xmx1024m-Xbootclasspath/p:"bin;"website.Server>>C:\web_logs\console.log它工作得很好,但在2小时后我使用Runtime.getRuntime();在Java中准备好重新启动;执行我的C程序“Restarter.exe”。Restart.exe杀死了java进程,也杀死了cmd进程(我杀死了命令进程,因为我不确定为什么它一直说“......进程无法访问文件.....

.net - 通过 .Net 设置 Windows 进程 'Comment'?

当通过Microsoft/Sysinternal的ProcessExplorer查看我的Windows任务时,我可以看到/修改进程的“注释”属性。是否可以在.Net应用程序中以某种方式从流程本身以编程方式设置此属性,或者这是特定于ProcessExplorer的东西? 最佳答案 此功能特定于ProcessExplorer;基本上它允许你用一些东西来标记一个进程,这样你就可以跟踪正在发生的事情。来自ProcessExplorer帮助文件:EnteracommentforaprocessintheCommentfield.Comment

windows - 以 SYSTEM 帐户运行进程

我需要使用SYSTEM帐户运行一个进程。从Administrator开始,这是提升到SYSTEM帐户的最佳方式?它应该适用于WindowsXP及更高版本。 最佳答案 如果您需要启动或停止在系统帐户中运行的服务,则不需要在系统帐户中运行进程。相反,您需要在您的服务上设置ACL(它是您的服务,对吧?)以授予交互式用户启动或停止您的服务的权利。如果它不是您的服务,那么您真的不应该这样做。如果服务的作者决定交互式用户不应该启动或停止他们的服务,他们可能有充分的理由做出该决定。 关于windows

C# Hook Windows 进程以检查调试进程

我想知道是否有一种方法可以HookWindows进程以检查是否有任何可疑程序在运行,例如(Wireshark、Fiddler、OllyDBG等)。我想挂接windows进程,以便它在检测到不需要的进程时关闭客户端或实时弹出消息。如果你们能为我提供任何链接,那就太好了。谢谢! 最佳答案 Process[]processlist=Process.GetProcesses();然后遍历列表并根据需要对您不想运行的应用执行操作。 关于C#HookWindows进程以检查调试进程,我们在Stack

windows - 我可以操作一个我没有创建的窗口(进程)吗?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我有一个我尚未创建的应用程序,而且我没有源代码。但在处理和记录我在不同项目上使用的时间时,它真的很方便。但是它有一个烦人的弹出窗口,其中包含一个窗口和一些我相信的调试文本。这不是由专业人士完成的,这只是一个业余爱好项目。即使出现此窗口,一切正常。所以我想知道是否有可能“劫持”一个窗口并以某种方式最小化或关闭它?

windows - 关于进程访问权限的问题

我得到了以下场景:进程A创建进程B,然后B尝试使用OpenProcess()获取A的句柄。我希望B拥有A的PROCESS_ALL_ACCESS权限。我该如何实现?谢谢。 最佳答案 可能最简单的方法是让parent完全避免child必须调用OpenProcess。相反,让父对象检索自身的句柄(它将自动拥有所有访问权限),然后使用bInheritHandle=true调用DuplicateHandle。然后当它创建进程B时,该句柄(具有对进程A的完全访问权限)将已经在子进程中打开。进程A只需将句柄传递给进程B,进程B就可以使用它。

c++ - 取消WIN32线程池中计划的work/io/timer项

我一直在研究Windows的(新的?)线程池API。我一直在关注UsingtheThreadPoolFunctions中的示例我一直在仔细研究MSDN上的API。关于清理组,我有些不明白。调用SetThreadpoolCallbackCleanupGroup()时,第三个参数描述为Thecleanupcallbacktobecalledifthecleanupgroupiscanceledbeforetheassociatedobjectisreleased.ThefunctioniscalledwhenyoucallCloseThreadpoolCleanupGroupMembers

c++ - 池化线程的 SetThreadAffinityMask

我想知道是否可以设置从线程池中获取的线程的处理器关联性。更具体地说,线程是通过使用我用来实现周期性任务的TimerQueueAPI获得的。作为旁注:我发现TimerQueues是实现周期性任务的最简单方法,但由于这些通常是长期任务,为此目的使用专用线程是否更合适?此外,预计需要使用信号量和互斥量等同步原语来同步各种周期性任务。池线程适合这些吗?谢谢!EDIT1:正如Leo指出的那样,上述问题实际上是两个松散相关的问题。第一个与池线程的处理器亲和性有关。第二个问题与从TimerQueueAPI获得的池化线程在涉及同步对象时的行为是否与手动创建的线程一样。我将把第二个问题移到一个单独的主题

c# - 更改进程的基址指针

我有一个关于指针和内存分配的更理论化的问题。比方说我有一个正在运行的进程,它分配了从0x01到0x03的2个字节。如果我想从该内存中读取,我可能会使用ReadProcessMemory。但是我具体应该给出什么指针?它是相对指针还是绝对指针?可以说这个指针是相对的,所以我用指向0x00的指针调用ReadProcessMemory。但是Windows是如何知道进程内存从哪里开始到哪里结束的呢?Windows是否不必保存内存属于(或由其分配)进程的地址?但是Windows在哪里保存这些信息以及它如何知道它保存信息的位置?我听说过一种叫做“基本指针”的东西。我想这就是我要找的。内存属于进程的地