首页 / 知识
关于.net:C#中的挂起过程
2023-04-15 20:50:00

Suspend Process in C#如何在C#中挂起整个流程(就像单击"挂起"时的Process Explorer一样)。 我正在使用Process.Start启动Process,并且在某个事件中,我想暂停该进程以便能够对其进行"快照"进行一些调查。 这是我的建议:
感谢马格努斯 包含Flags之后,我对代码进行了一些修改,使其成为项目中的扩展方法。我现在可以使用
这是可能有兴趣的人的代码。
我完成了一个实用程序,通常用来暂停/杀死/列出进程。完整的源代码在Git上 因此,实际上,其他答案显示的是正在挂起进程中的线程,没有办法真正挂起该进程(即在一个调用中)。 另一个不同的解决方案是实际调试您要启动的目标进程,请参见Mike Stall的博客,以获取有关如何从托管上下文实现此目标的一些建议。 如果实现调试器,则将能够扫描内存或您想要的其他快照。 但是,我想指出的是,从技术上讲,现在确实可以做到这一点。即使您确实调试了目标调试对象进程,系统上的另一个进程也可能会注入一个线程,并且将具有执行代码的能力,而与目标进程的状态无关(即使我们说它是否由于访问冲突而达到了断点) ),如果您已将所有线程的暂停数量都提高到超高的暂停数量,并且当前处于主进程线程的中断点,并且处于任何其他此类假定的冻结状态,则系统仍然有可能向该进程注入另一个线程并执行一些指令。您还可能会遇到修改或替换内核通常调用的所有入口点的麻烦,以此类推,但是现在您已经进入了恶意软件的竞争之列;)... 在任何情况下,使用托管接口进行调试似乎比p /调用许多本地API调用要容易得多,因为这样做会在模拟您可能真正想做的事情上做得很差。使用调试api ;) 有关win32的基础知识,请参见此CodeProject文章:http://www.codeproject.com/KB/threads/pausep.aspx。此示例代码利用了SDK中的ToolHelp32库,因此,我建议您使用一个简单的接口(例如" SuspendProcess(uint processID))"将此示例代码转换为不受管理的C ++ / CLI库。 Process.Start将返回一个Process对象,您可以从该对象获取流程ID,然后根据上述内容将其传递给您的新库。 戴夫 |
最新内容
相关内容
linux命令进程状态?
linux命令进程状态?,系统,状态,进程,命令,数据,管理,软件,名称,信息,参数,Linux终止前台进程的命令1、首先,连接相应linux主机,进入到linux命令linux命令暂停下载?
linux命令暂停下载?,系统,代码,暂停,第一,服务,管理,命令,进程,程序,接线,linux下nginx停止命令首先,连接相应linux主机,进入到linux命令行状态linux查看命令行进程?
linux查看命令行进程?,系统,软件,信息,状态,进程,名称,实时,命令,数据,电脑,怎么查看linux进程名称linux 下查看进程可以使用的命令:ps命令查找监视进程命令linux?
监视进程命令linux?,系统,状态,工作,地址,信息,进程,软件,命令,数据,实时,如何在Linux中查看所有正在运行的进程1、具体步骤如下:Linux中常用的linux结束进程命令?
linux结束进程命令?,系统,软件,管理,进程,名称,数据,单位,状态,数字,代码,Linux系统查看和结束进程的步骤。1、ps -ef|grep java复制代码可以linux启动进命令行?
linux启动进命令行?,系统,首页,密码,工具,终端,情况,电脑,数字,界面,命令,如何让linux开机时就进入命令行界面linux如何进入命令行?我们一起来linux启动蓝牙命令?
linux启动蓝牙命令?,设备,手机,系统,蓝牙,电脑,管理,网络,密码,通讯,信息,Linux系统如何利用命令打开蓝牙,开启手机蓝牙 2,运行hcitool scan,找到linux启动进去命令行?
linux启动进去命令行?,系统,工具,首页,电脑,终端,材料,密码,命令,快捷键,窗口,linux系统的cmd在哪里启动啊?打开方法:开始-所有程序-附件 或 开linux杀进程命令图片?
linux杀进程命令图片?,系统,工具,图片,进程,管理,名称,传播,工作,命令,后台,Linux中怎么终止正在运行的后台程序killall命令。在linux中,拥有非linux启动显示命令行?
linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信linux架构快照命令?
linux架构快照命令?,工作,系统,地址,信息,命令,目录,状态,基础,管理,多地,Linux单独的ps命令作用是什么?Linux ps命令,英文全拼process statuslinux命令行启动登陆?
linux命令行启动登陆?,密码,系统,电脑,地址,设计,代码,项目,连续,工具,庞大,Linux命令行下怎么自动登录root账号Linux下一般是图形界面模式可