首页 > 其他分享 >Process类

Process类

时间:2023-06-02 09:57:31浏览次数:28  
标签:Process 句柄 获取 进程 运行 属性

进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非分布式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的。

用最简短的话来说,进程就是当前运行的应用程序。运行的应用程序包括exe,dll这两种文件。文件和进程的差别在与,文件是保存在磁盘上的,是静止的,计算机不会去调用文件,而进程是非静止的,正是由于着个原因,所以计算机每调用一个进程就需要一定的资源。这些资源包括内存,虚拟页面,句柄,gdi……

在.net中我门可以用VB.NET Process类,(他位于System.Diagnostics空间中)提供对正在计算机上运行的进程的访问。使用VB.NET Process类,可以获取当前运行的进程的列表,或者启动新的进程。VB.NET Process类用于访问系统进程。初始化VB.NET Process类后,可使用该类来获取有关当前运行的进程的信息。此类信息包括线程集、加载的模块(.dll 和 .exe 文件)和性能信息(如进程当前使用的内存量)。

系统进程在系统上由其进程标识符唯一标识。与许多 Windows 资源一样,进程也由其句柄标识,而句柄在计算机上可能不唯一。句柄是表示资源标识符的一般术语。即使进程已退出,操作系统仍保持进程句柄,该句柄通过 Process 组件的 Handle 属性访问。因此,可以获取进程的管理信息,如 ExitCode(通常,或者为零表示成功,或者为非零错误代码)和 ExitTime。句柄是非常有价值的资源。

Process 类 (System.Diagnostics) | Microsoft Learn

 

接下来总结一些最近接触到的属性和方法。

属性:

  • ExitCode:退出代码,0表示正常退出,非0表示错误编号,只有通过Process.Start方式启动返回的对象的HasExited属性为true才可以访问ExitCode.

方法:

  • ProcessName:获取该进程的名字
  • GetCurrentProcess():获取新的 Process 组件并将其与当前活动的进程关联。
  • GetProcessesByName(string name):创建新的 Process 组件的数组,并将它们与远程计算机上共享指定进程名称的所有进程资源关联。
  • Start方法:启动一个新的进程。可以指定要运行的可执行文件的路径以及需要传递给该进程的命令行参数。
  • StartInfo 属性:获取或设置一个 ProcessStartInfo 对象,用于指定启动进程时的一些设置,例如工作目录、环境变量、输入输出重定向等。
  • StandardInputStandardOutputStandardError 属性:分别获取标准输入、标准输出和标准错误流。可以使用这些属性来读取和写入进程的输入输出数据。
  • WaitForExit 方法:等待进程退出,并可选择等待的超时时间。在进程退出之前,调用线程将被阻塞。
  • Kill 方法:强制终止正在运行的进程。

标签:Process,句柄,获取,进程,运行,属性
From: https://www.cnblogs.com/kai-liang/p/17450898.html

相关文章

  • 进程注入分析实战——通过process explorer可以看到lab12-01.dll在运行时加载了, 要查
     要查看dll被哪个进程所使用,可以在processexplorer里搜索!  这个技巧在分析恶意DLL加载时候非常有用!!!笔记可以通过processexplorer查看进程注入的dll,比如注入后可以看到lab12-01.dll在注入的运行进程里。    启动器Launcher用来加载恶意代码使用,通常在资源中包含一个exe或d......
  • w-process diagram
    nonumberscan'tcomapreanythingcan'tdescribetrends natrualcycles.lifecycleofabutterfly Whatcanwedescribe?howmanysteps.wheretheprocessbeginsandendseachstepintheprocess. spetslanguages:Atthefirststagein......
  • 基于multiprocessing map实现python并行化(全局变量共享 map机制实用向分析 常见问题 p
    转载:(15条消息)基于multiprocessingmap实现python并行化(全局变量共享map机制实用向分析常见问题pandas存储数据)_goto_past的博客-CSDN博客基于multiprocessingmap实现python并行化之前从来没考虑python可以并行化,最近有一个项目需要计算100*100次的遗传算法适应度,每次计算......
  • 一个由于不同微服务框架混搭导致BeanPostProcessors处理bean异常导致的问题
        前天到昨天晚上,某开发报告了一个问题,我们的一个应用程序接入了腾讯的TSF微服务框架后,使用feign访问接口,会导致token丢失,无法解决。    大体介绍下项目情况,我们的应用使用了某第三方微服务框架,不是源生的springcloud或springcloudalibaba框架,第三方厂家基于s......
  • Intel Media SDK and Intel® oneAPI Video Processing Library (oneVPL)
    TheIntelMediaSoftwareDevelopmentKit(IntelMediaSDK)isacross-platformapplicationprogramminginterface(API)fordevelopingmediaapplicationsonWindowsandLinux. Itismainlyusedforhardware-acceleratedvideoencoding,decoding,andprocess......
  • pip install时遇到subprocess-exited-with-error错误
    当我使用容器在外网下载的peft源码包中使用pipinstall-e.命令进行安装时,安装顺利进行。而当我在公司内网使用相同容器进行安装时,报出题目中的错误,因为是离线安装,所以我猜测是不是网络问题,因为这两个区别就是一个联网一个没有联网,于是我在内网pipinstall-e.命令后面加上了......
  • 根据ProcessId获取进程的窗口句柄
    functionTForm1.GetHWndByPID(consthPID:THandle):THandle;typePEnumInfo=^TEnumInfo;TEnumInfo=recordProcessID:DWORD;HWND:THandle;end;functionEnumWindowsProc(Wnd:DWORD;varEI:TEnumInfo):Bool;stdcall;var......
  • An attempt has been made to start a new process before the current process has f
     Traceback(mostrecentcalllast): File"<string>",line1,in<module> File"E:\Eprogramfiles\Anaconda3\lib\multiprocessing\spawn.py",line116,inspawn_main   exitcode=_main(fd,parent_sentinel) File"E......
  • Unity的AssetPostprocessor之Model:深入解析与实用案例 1
    UnityAssetPostprocessor模型相关函数详解在Unity中,AssetPostprocessor是一个非常有用的工具,它可以在导入资源时自动执行一些操作。在本文中,我们将重点介绍AssetPostprocessor中与模型相关的函数,并提供多个使用例子。OnPostprocessModelOnPostprocessModel是AssetPostprocessor......
  • Unity的IUnityLinkerProcessor:深入解析与实用案例
    UnityIUnityLinkerProcessorUnityIUnityLinkerProcessor是Unity引擎中的一个接口,它允许开发者在Unity项目构建时对代码进行链接处理。这个接口可以用来优化项目构建大小,减少不必要的代码和资源,提高项目的性能和加载速度。接口定义IUnityLinkerProcessor接口定义如下:namespace......