美文网首页
001-进程、线程与Process类

001-进程、线程与Process类

作者: ottox | 来源:发表于2018-11-14 09:09 被阅读0次

    进程

    进程是对一段静态指令序列(程序)的动态执行过程。
    与进程相关的信息包括:进程标示(进程ID)、文件名、执行的程序和数据,运行时间、在存储器中的位置、占用的内存容量等。
    在NET Framewrok 中Process 类提供了对进程进行管理的各种方法

    线程

    将一个进程划分为若干个独立的执行流,每一个执行流均称为一个线程。
    (1)线程是CPU调度和分配的基本单位。
    (2)每个进程都有一个主线程。
    (3)除了主线程以外,还可以给一个进程分配若干个子线程,从而达到多个任务并行执行的目的。
    任何一个C#程序都有一个默认的线程,该线程成为主线程。主线程执行程序中Main方法中的代码。Main方法中的每一条语句都由主线程执行,当Main返回时,主线程也自动终止。

    进程管理(Process类)

    • Process类位于System.Diagnostics命名空间下。
    • 对本机(也叫本地计算机)
      (1)可以启动、终止某个进程
      (2)可以查看进程相关信息,如CPU利用率等
      (3)可以查看进程工作状态
    • 对远程计算机
      (1)可以查看远程计算机相关信息
      (2)无法直接启动、终止远程计算机
    • 在一个程序中处理其他的程序(例如调用其他.exe文件、 快捷方式等),实际上就是对进程进行管理。

    Process类提供的静态方法

    image.png
    Process类常用的属性和方法

    -----------------------获取进程实例-------------------
    GetProcessById方法(静态方法):通过进程Id创建新的Process组件,并将其与本地计算机上的进程资源关联。GetProcessById最多只有一个Process实例。
    GetProcesses方法(静态方法):获取本机所有进程
    GetProcessesByName方法(静态方法):获取本机上特定名称的进程
    -----------------------获取及设置优先级---------------
    BasePriority属性: 获取进程优先级(只读)
    PriorityClass 属性:设置或更改进程优先级
    ---------------------------进程ID及进程名-----------------------
    Id属性:获取关联进程的唯一标识符
    ProcessName属性:获取该进程的名称,不包括路径和扩展名
    ---------------------------进程其他信息-------------------------
    MachineName属性:获取关联进程正在其上运行的计算机名称
    MainModule属性:获取关联进程的主模块
    Modules属性:获取由关联进程加载的模块
    TotalProcessorTime属性:获取进程的总的处理器时间
    StartTime属性:获取关联进程的启动时间
    WorkingSet64属性:为进程分配的物理内存量(字节数)
    -----------------------进程启动-------------------------
    Start方法:启动进程资源并将其与Process组件关联
    StartInfo属性:获取或设置要传递给启动进程的文件名以及启动参数
    -----------------------进程终止-------------------------
    Kill方法:强制终止进程
    CloseMainWindow方法:关闭具有用户界面的进程
    Close方法:释放与此组件关联的所有资源
    HasExited属性:指示关联进程是否已终止
    WaitForExit方法:设置等待关联进程退出的时间,并在该段时间结束前或该进程退出前,阻止当前线程执行。

    相关文章

      网友评论

          本文标题:001-进程、线程与Process类

          本文链接:https://www.haomeiwen.com/subject/pxkdfqtx.html