如何使用 python 显示当前用户的进程列表?

2024-05-04

我知道它与 /proc 有关,但我不太熟悉它。


教科书的答案是使用psutil像这样的模块:

import psutil,getpass,os
user_name = getpass.getuser()
process_dict = {proc.pid:proc.name() for proc in psutil.process_iter() if proc.username() == user_name}

这会生成一个字典,其中进程 id 作为键,进程名称作为当前用户进程的值。

这种方法看起来不错,但在我的 Windows 服务器计算机上(我没有管理员权限)我无法获得proc.username()没有得到psutil.AccessDenied例外。所以我试图在辅助例程中捕获异常,这导致我遇到另一个奇怪的错误,所以我放弃了整个想法并构建了一个基于 Windows 的解决方案tasklist命令:

tasklist /FI "USERNAME eq %USERNAME%" /FO CSV

其中,适应 python 并具有相同方便的 pid => username 字典格式翻译为:

import csv,subprocess
def get_current_user_processes():
   csv_output = subprocess.check_output(["tasklist","/FI","USERNAME eq {}".format(os.getenv("USERNAME")),"/FO","CSV"]).decode("ascii","ignore")
   cr = csv.reader(csv_output.splitlines())
   next(cr)   # skip title lines
   return {int(row[1]):row[0] for row in cr}

它说tasklist仅保留当前用户进程,并使用 csv 输出格式,以便可以使用csv模块。然后,我们只保留前 2 列(名称和 pid),并将 pid 转换为整数以进行良好测量。

它创建这样的字典:

{7808:“conhost.exe”,12676:“dwm.exe”,10120:“ssonsvr.exe”,7052:“tasklist.exe”,17028:“ccshelserver.exe”,14876:“wfcrun32.exe”,14364 : 'Receiver.exe', 15024: 'conhost.exe'}

现在可以更深入地检查每个单独的过程psutil无需冒访问被拒绝或其他奇怪错误的风险:

d = get_current_user_processes()
processes = [proc for proc in psutil.process_iter() if proc.pid in d]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 python 显示当前用户的进程列表? 的相关文章

  • 使用 urllib2 进行 Python 身份验证

    所以我尝试使用 python 从名为 vsearch cisco com 的网站下载文件 python Connects to the Cisco Server and Downloads files at the URL specifie
  • 管理 Tweepy API 搜索

    如果这是对之前在其他地方回答过的问题的粗略重复 请原谅我 但我不知道如何使用 tweepy API 搜索功能 是否有任何有关如何使用搜索推文的文档api search 功能 有什么方法可以控制返回的推文数量 结果类型等功能 由于某种原因 结
  • 向 polls urls.py 添加额外的过滤器会导致测试失败

    按照 djangoproject 的教程 我尝试让 urls py 过滤掉没有选择下面 urlpattern 的民意调查 urlpatterns patterns url r ListView as view queryset Poll o
  • 如何使 Django ManyToMany “直通”查询更加高效?

    我使用的是 ManyToManyField 和 through 类 这会在获取事物列表时产生大量查询 我想知道是否有更有效的方法 例如 这里有一些描述书籍及其几位作者的简化类 它们通过角色类 定义 编辑器 插画家 等角色 class Per
  • 如何使用 boto3 从 AWS Cognito 获取经过身份验证的身份响应

    我想使用 boto3 获取访问 AWS 服务的临时凭证 用例是这样的 我的 Cognito 用户池中的用户登录到我的服务器 我希望服务器代码为该用户提供访问其他 AWS 服务的临时凭证 我有一个存储我的用户的 Cognito 用户池 我有一
  • Python 列表理解不适用于 itertools.groupby 解码

    我正在尝试解码结果itertools groupby到一个值列表中 我的来源是 x 1 2 2 1 6 3 6 5 1 3 最初的方法是使用 for 语句来实现 如下所示 keyfunc itemgetter 0 groups unique
  • 如何充分释放函数中使用的GPU内存

    我在用着cupy在接收一个函数numpy数组 将其推到 GPU 上 对其进行一些操作并返回cp asnumpy它的副本 问题 函数执行后内存没有被释放 如ndidia smi 我知道内存的缓存和重用cupy 但是 这似乎仅适用于每个用户 当
  • 导入错误:没有名为“wordcloud”的模块

    我正在努力将 wordcloud 安装到我的环境中 这是我正在运行的代码 import os import matplotlib pyplot as plt from wordcloud import WordCloud 我收到以下错误 I
  • 使用Python进行图像识别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 就是我想识别图像中的字母 可能是 bmp或 jpg 例如 这是一个包含字母 S 的 bmp 图像 我想做的是使用Pyth
  • 如何将一串Python代码编译成一个可以调用函数的模块?

    在 Python 中 我有一串 Python 源代码 其中包含以下函数 mySrc def foo print foo def bar print bar 我想将这个字符串编译成某种形式类似模块的对象这样我就可以调用代码中包含的函数 这是我
  • Python `concurrent.futures`:根据完成顺序迭代 future

    我想要类似的东西executor map 除了当我迭代结果时 我想根据完成的顺序迭代它们 例如首先完成的工作项应该首先出现在迭代中 等等 这样 当且仅当序列中的每个工作项尚未完成时 迭代就会阻塞 我知道如何使用队列自己实现这一点 但我想知道
  • 如何使用 Selenium Webdriver (Python) 在上下文菜单中选择“将图像另存为...”来保存图像

    我正在尝试使用 selenium webdriver 将特定图像保存到目录中 我希望通过模拟右键单击 img 元素并选择 将图像另存为 来实现此目的 使用以下代码我可以打开上下文菜单 但无法选择正确的选项 browser WebDriver
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • 无法在 Windows 服务器上使 SVN 预提交脚本失败

    我正在编写一个 SVN pre commit bat 文件 该文件调用 Python 脚本来查询我们的问题跟踪系统 以确定用户提供的问题跟踪 ID 是否处于正确的状态 例如 打开 状态 并与正确的关联项目 SVN 服务器运行 Windows
  • 在Python中打开网站框架或图像

    所以我对 python 相当熟练 并且经常使用 urllib2 和 Cookies 来实现网站自动化 我刚刚偶然发现了 webbrowser 模块 它可以在默认浏览器中打开一个网址 我想知道是否可以从该 url 中仅选择一个对象并打开它 具
  • 在哪里可以找到Python内置序列类型的时间和空间复杂度

    我一直无法找到此信息的来源 无法亲自查看 Python 源代码来确定这些对象是如何工作的 有谁知道我可以在网上找到这个吗 结帐时间复杂度 http wiki python org moin TimeComplexitypy dot org
  • Chrome + 另一个进程:进程间通信比 HTTP/XHR 请求更快?

    我有一个进程 1 对视频流进行实时图像处理 我需要在 Chrome 中的 HTML 页面中渲染该视频 同一台计算机上的进程 2 在canvas or img or videoHTML5 元素 由于我有 1000x1000 像素 x 3 字节
  • 使用Python的线程模块调用ctypes函数比使用多处理更快?

    我一生都无法找出这个问题的答案 我编写了一个可以执行数百次繁重计算的脚本 我有一个绝妙的主意 将这些计算任务编写为 C 然后使用 Python 的 ctypes 与它们交互 我心想 我什至可以使用并行性进一步优化它 我最初的方法是使用线程
  • 将自定义属性添加到 Tk 小部件

    我的主要目标是向小部件添加隐藏标签或字符串之类的内容 以在其上保存简短信息 我想到创建一个新的自定义 Button 类 在本例中我需要按钮 它继承所有旧选项 这是代码 form tkinter import class NButton Bu

随机推荐

  • 为dlib创建共享库

    按照说明使用 cmake 编译 dlib here http dlib net compile html 生成静态 dlib 库 cd examples mkdir build cd build cmake cmake build conf
  • scanf 和 doubles 的问题[重复]

    这个问题在这里已经有答案了 我无法理解为什么会发生这种情况 使用以下代码 include
  • 如何在文本字段内设置用户名和密码的标签?

    我的网站有一个登录表单 该登录表单有两个文本字段 用户名和密码 目前 我将标签 用户名 密码 放置在文本字段之前 但现在我想删除这两个标签并想在文本字段内显示文本 用户名 密码 当用户关注这些文本字段时 文本应该被删除 用户可以输入他想要的
  • MySQL:通过迭代并与另一行连接来更新表中的行

    我有一张表纸 CREATE TABLE papers id int 11 NOT NULL AUTO INCREMENT title varchar 1000 CHARACTER SET utf8 COLLATE utf8 unicode
  • @Autowired jdbcTemplate 和 h2 内存数据库多次执行 runscript

    我继承了一个项目 并试图针对内存中的 h2 数据库运行一组集成测试 为了让他们传递一些表格 需要创建关系和参考数据 我可以看到问题在于引用的脚本RUNSCRIPT被执行多次 因此生成Index XXX IDX already exists错
  • Windows 批处理文件中的 SQL 语句

    有没有办法让Windows批处理文件直接输入SQL语句而不需要调用脚本 我希望批处理文件登录SQL 然后直接输入语句 EDIT 我正在使用 Oracle v10g 对于单个命令 您可以使用以下技巧 echo select from dual
  • JSON 中的换行符

    我们使用 WCM 工具进行内容输入 内容编辑器将在该工具中输入包含文本和 html 的内容 为了将内容转换为 JSON 我们使用 newton JSON 如下所示 我们传递简单的键和值字典 string output JsonConvert
  • 使用 R 中的 ggplot2 在分类散点图中添加水平线

    我正在尝试为 3 个组绘制一个简单的散点图 每个组具有不同的水平线 线段 例如 组 a 的 hline 为 3 组 b 的 hline 为 2 5 hline 为组 b c 组为 6 library ggplot2 df lt data f
  • 在所有应用程序之上绘制 Android 画布?

    考虑到 Android 的本质 我怀疑这是不可能的 但是有没有办法创建一个显示在所有应用程序之上的各种视图 也许使用 Canvas 对象 我对这个项目的意图并不是恶意的 我创建了一些简单的彩色滤镜软件 http www musatcha c
  • 使用鼠标功能时出错:没有什么可以估算的

    我尝试将 NA 数据填充到数据框中 我做了简单的数据 library mice first lt c 1 2 3 4 5 NA 7 8 9 NA second lt c 1 2 NA 4 5 6 7 NA 9 10 sample data
  • 如何替换 R.drawable."someString"

    我的项目中有一些图像 图像的名称存储在字符串中 我想 setImageResource R drawable 与图像名称的字符串 但问题是这不起作用 我怎样才能做到这一点 这不是正确的语法 您必须得到编译时错误 在更改图像资源之前您必须知道
  • 使用 PHP Mcrypt 加密并使用 MySQL aes_decrypt 解密?

    是否可以使用 PHP 加密数据mcrypt并用MySQL在数据库中解密AES DECRYPT 目前 我正在使用RIJNDAEL 128 for mcrypt关于 PHP 我还确保数据库中的加密字段具有数据类型blob Yet AES DEC
  • .Resx 和 .Resources 文件类型有什么区别?

    我有很多 resources 文件 需要打开并查看 我下载了Zeta 资源编辑器 http www zeta resource editor com 但它仅适用于 Resx 文件 有区别吗 我可以打开 Resources 文件并提取其内容吗
  • Postgresql 上的 Castle Activerecord 错误是“关系不存在”?

    ActiveRecord 映射 ActiveRecord JobTitle Schema public public class JobTitle ActiveRecordValidationBase
  • 如何让 Visual Studio Code 在调试时退出时暂停

    尽我所能 我找不到让 Visual Studio Code 在调试结束时暂停的方法 控制台窗口就消失了 并带走了所有输出 如果我一遍又一遍地运行该程序 我可以看到一些文本闪烁 但我无法在它出现的毫秒内读取它 I can启动时暂停 这样可行
  • Javascript 将 CSV 文件加载到数组中

    我正在 WordPress 中开发一个网页 该网页需要有一个包含所有县的组合框 我有一个 csv 格式的数据集 其中包含所有这些县的约 10k 行 当用户在下拉列表中选择一个县时 我只想在网页中显示所选县的数据 这是我的要求 在 WordP
  • Rails 缓存过期

    我有一个 Rails 应用程序 因为我使用简单的 Rails 缓存 我的测试如下 Rails cache write temp Date today expires in gt 60 seconds 我可以读完Rails cache rea
  • 使用 Jackson 与 Java Mongo DBObject 进行高效 POJO 映射

    虽然类似于使用 MongoDB Java 驱动程序将 DBObject 转换为 POJO https stackoverflow com questions 7684223 convert dbobject to a pojo using
  • 我可以使用.NET Reflector快速修改和重新编译代码吗?

    是否可以使用 NET反射器 http en wikipedia org wiki NET Reflector 或其他工具 修改并重新编译代码quickly 也就是说 不转储源然后使用视觉工作室 http en wikipedia org w
  • 如何使用 python 显示当前用户的进程列表?

    我知道它与 proc 有关 但我不太熟悉它 教科书的答案是使用psutil像这样的模块 import psutil getpass os user name getpass getuser process dict proc pid pro