You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#控制台中正确获取当前运行进程列表?

正确获取C#控制台程序中当前运行进程的方法

嘿,我注意到你写的var list = new List<int>(Process.GetProcesses());代码会报错,原因很简单:Process.GetProcesses()返回的是**Process[]类型的数组**,每个元素是包含进程详细信息的Process对象,而不是int类型,直接转List<int>类型是不兼容的。

下面给你几种符合需求的正确实现方式:

1. 获取进程ID的List<int>列表(匹配你最初的类型需求)

如果你只是想收集所有运行进程的ID,可以用LINQ提取每个Process对象的Id属性,再转成列表:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;

namespace ProcessDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 提取所有进程ID到List<int>
            List<int> processIds = Process.GetProcesses()
                                          .Select(process => process.Id)
                                          .ToList();

            // 输出结果
            Console.WriteLine("当前运行的进程ID:");
            foreach (int id in processIds)
            {
                Console.WriteLine(id);
            }
        }
    }
}

2. 获取完整的进程对象列表(方便查看更多进程信息)

如果需要获取进程的名称、内存占用等更多信息,建议直接把进程对象存入列表:

using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace ProcessDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 获取所有进程对象的列表
            List<Process> runningProcesses = Process.GetProcesses().ToList();

            // 遍历输出进程信息(注意捕获权限异常)
            Console.WriteLine("当前运行的进程详情:");
            foreach (Process process in runningProcesses)
            {
                try
                {
                    Console.WriteLine($"进程名:{process.ProcessName} | ID:{process.Id} | 内存占用:{process.WorkingSet64 / 1024 / 1024} MB");
                }
                catch (UnauthorizedAccessException ex)
                {
                    Console.WriteLine($"无法访问进程ID {process.Id}:{ex.Message}");
                }
            }
        }
    }
}

几个注意事项

  • 必须引用System.Diagnostics命名空间,否则无法使用Process类;
  • 部分系统进程会限制访问权限,遍历的时候记得加异常捕获,避免程序直接崩溃;
  • 如果需要获取远程机器的进程,可以使用Process.GetProcesses("远程机器名称"),但需要拥有对应机器的访问权限。

内容的提问来源于stack exchange,提问作者user8125500

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:26:55