草庐IT

linxu学习之进程

全部标签

windows - Windows 中事件进程列表的用途?

我注意到所有_EPROCESS对象都通过ActiveProcessList链接相互链接。这个列表的目的是什么。操作系统使用这个事件进程列表做什么? 最佳答案 在WindowsNT中,可调度的单位是线程。进程充当线程的容器,也充当定义哪些虚拟内存映射处于事件状态(以及其他一些东西)的抽象。所有操作系统都需要保持此信息可用。在不同的时间,操作系统的不同组件可能需要搜索与特定特征匹配的进程,或者需要评估所有事件进程。那么,我们如何存储这些信息呢?为什么不是内存中的巨大数组?那么,这个阵列有多大?我们是否愿意将事件进程的数量限制为该数组的大

windows - 结束 Windows 应用程序(但不是简单地终止进程)

我想优雅地结束某个Windows应用程序,而不使用鼠标或键盘快捷键。我也不想简单地结束应用程序的进程。(因此,“优雅地”。)换句话说,我想调用应用程序自己的“退出程序”。我该怎么做?我不介意沉迷于代码和可疑的黑客攻击,我只是不知道从哪里开始……使用AutoHotkey模拟结束应用程序所需的按键对我来说还不够好。:P 最佳答案 Windows任务管理器为此使用EndTask函数:EndTaskFunction.此函数首先发送友好的WM_CLOSE消息。 关于windows-结束Window

c++ - 如何寻址由另一个进程的给定 IUnknown* 标识的 COM 对象?

我写了两个小的C++应用程序,其中一个是嵌入了一些ActiveX控件的ActiveX容器。此容器应用程序知道引用ActiveX控件的IUnknown*。另一个应用程序是一个客户端,它应该与前一个应用程序中的ActiveX控件进行交互。但是,我不知道如何在客户端应用程序中获取控件的句柄。由于独立的地址空间,简单地将IUnknown*的指针值从服务器传输到客户端在类(class)中是行不通的。是否可以通过某种方式“复制”某个COM对象的句柄,以便其他进程可以使用新创建的句柄?我想让COM为我完成RPC工作。否则,我需要在服务器应用程序中执行所有COM调用并自己执行所有RPC。:-/

windows - 获取名称/描述 Startaddress 或从进程中的线程 (Delphi/Pascal)

ProcessHacker在C中有一个进程管理器。当您在流程管理器中双击某个流程时,例如探索者您会看到很多信息,包括:与流程相关的主题。PDD、周期增量开始、地址、优先级。好吧,我尝试在Delphi中做类似的事情,但我只得到TID和优先级...我不能把信息开始地址如下:“msiltcfg.dll0x258!”或者只能返回00630EFA。(原始)应用程序黑客显示下图中的信息:我该如何解决这个问题?基于下面的代码示例。procedureTForm1.Button7Click(Sender:TObject);vartbi:THREAD_BASIC_INFORMATION;hThreadSn

windows - 将串行守护进程 + PHP 移植到 Windows

我有一个Linux系统:通过RS232端口与另一台设备通信的守护进程。一个php+javascript网站,通过socket。现在老板想知道把这些都移植到Windowze上需要付出多少努力。之前从未真正在Windows上编程过,我想问一下这将有多容易/困难,以及有哪些选择。谢谢, 最佳答案 PHP可能会按原样运行。Javascript在网络浏览器中运行,并将按原样运行。您的守护进程是Windows上的一项服务。显然,它通过javascript在套接字上监听来自网页的命令。您没有说明服务的目标语言是什么。某些语言(如C#dotNet)

windows - 如何从命令提示符终止进程及其父进程

我有一个从命令提示符启动的进程-file.bat,尽管它的父cmd.exe也需要终止。唯一的问题是还有cmd.exe的其他实例是否有终止进程file.bat的任何方法-而不删除cmd.exe的其他实例(我不能简单地终止cmd.exe进程,因为在这种情况下我不知道PID) 最佳答案 您可以尝试从Sysinternals解析PsList实用程序的输出。你可以从:http://technet.microsoft.com->搜索“sysinternals”当您运行“PsList-t”时,您会看到一个进程列表,子进程从左边距开始缩进。这是一个

Windows:WAITING进程完成

我必须制作一个简短的Windowsshell脚本。请不要逃跑。它再简单不过了,但我就是找不到让这个非常原始的命令行与我一起工作的方法。我只是想运行dxdiag,并对收集到的数据做一些事情。问题是,我无法让脚本等待dxdiag完成,因为它会生成进程并继续运行。在继续下一行之前,我需要文件存在并获得信息。使用start/wait没有效果,我猜是因为没有涉及GUI。我开始认为这是不可能的。请帮忙! 最佳答案 我试过这样的东西start/waitdxdiag/x:SomeXmlFile它在WindowsVista中对我有用。

windows - 是否可以将终止进程所需的所有信息保存到磁盘,然后重新启动它?

我正在考虑VM的工作方式,但在常规Windows操作系统进程的级别。我的想法是,如果我可以拍摄快照并卸载进程,我就永远不必因为用完RAM而退出另一个应用程序。 最佳答案 这在任何常见操作系统中都不实用。 关于windows-是否可以将终止进程所需的所有信息保存到磁盘,然后重新启动它?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6317127/

c - 我怎样才能在 C 中获得一个进程句柄而不是它的名字?

我正在WindowsXP上编写程序,试图获取calc.exe的进程句柄。我可以假设用户确实运行了calc.exe,但他可能更改了文件名。即使名称已更改,是否有一个名称可以获取calc.exe进程的句柄?我找到了这个答案,但它不处理顽皮用户更改名称(例如更改为calc_new.exe)的情况:HowcanIgetaprocesshandlebyitsnameinC++?我可以使用Win32进程的一些其他属性来查找句柄吗? 最佳答案 您可以使用以下Win32API调用序列执行此操作:使用Spy++或类似工具找到您定位的顶级窗口的类名。调

windows - 将已执行进程的输出定向到当前 cmd

我能否以将执行程序的输出写入当前控制台的方式从JScript脚本执行程序?目前我正在使用Shell.Application.ShellExecute,它正在为已执行的应用程序打开另一个新控制台。在我的例子中,JScript是一个编译器的包装器,它由ShellExecute执行。所以发生的是所有编译器错误都丢失了,因为它们被打印在另一个控制台中。 最佳答案 如果您只担心捕获编译器输出,那么您可以将输出重定向到一个文件(我建议同时使用stdout和stderr)。像这样:varshell=newActiveXObject("WScrip