当前位置: 首页 > 面试题库 >

从Python查找Linux中特定PID的命令

乔丁雨
2023-03-14
问题内容

我想知道是否有可能找出PID设置为的“命令”。当我说命令时,我的意思是您在Linux shell中运行命令“
top”时在最后一栏中看到的内容。当我具有特定的PID时,我想以某种方式从Python获取此信息。

任何帮助都会很棒。谢谢。


问题答案:

请不要/proc在生产代码中使用文件系统。而是使用定义明确的POSIX接口,例如glibc调用和标准的shell命令!使Linux世界更加标准化,这确实需要!

通过调用shell命令可以很好地实现您所需要的

ps -p <YOUR PID> -o cmd h

无需解析

更不用说从python读取shell命令输出比从读取文件更费力/proc。而且,这也使您的程序更加可移植!



 类似资料:
  • 问题内容: 我正在将应用程序从Tru64移植到Linux,并且使用limits.h中定义的PID_MAX。Linux没有该定义。如何在不手工阅读的情况下在 c中 找到PID_MAX ?有图书馆吗? 问题答案: 默认值为32768,您可以在中读取系统上的值。 您可以在64位系统(最多2 22 = 4,194,304)上将值设置为更高,方法如下: 在这里阅读更多: http://www.cs.wisc

  • 问题内容: 如何从他的pid获取进程名称?例如,我执行cat file1.txt,但是我想弄清楚该cat命令及其参数,因为它在系统中的pid是。是否有确定它的结构或类似的东西?任何的想法? 问题答案: 没有任何通用方法可以执行此unix。 每个操作系统都有不同的处理方式,有些很难。您提到了Linux。对于Linux,该信息位于/ proc文件系统中。 要获取进程ID 9999的命令行,请阅读文件。

  • 问题内容: 我正在尝试获取INSIDE adb shell进程的PID。所以,我正在做adb shell,这使我进入了android shell。现在,如果要使用常规shell获取PID,我将使用 要么 我得到了PID(一个数字-的第二个字段)输出。 但是,如果我在android shell内运行上述命令(执行之后),则会分别得到和错误。这意味着,这些命令在adb shell中不可用。但是,gre

  • 问题内容: 我需要从python运行此linux命令,并将输出分配给变量。 我试过使用pythons命令库来做到这一点。 但是a结束了。我得到的输出是: 但预期的输出是: 有人知道如何阻止输出中断吗?有人可以建议其他方法吗? 问题答案: 显然限制了其输出以适合终端的假定宽度。您可以使用环境变量或选项覆盖此宽度。 该模块已弃用。使用得到的输出,并在Python进行过滤。不要按照其他答案的建议使用,在

  • 问题内容: 我正在努力弄清标题中提到的两个文件。我查了一下是什么。但是,我无法理解如何从他们那里提取有用的信息(或者我只是以错误的方式来对待)。 让我解释一下:页面映射是一个相当新的“功能”伪文件,其中包含分配给当前[pid]的虚拟页面的物理框架信息。也就是说,给定一个从地址x开始的虚拟页面,比如说“ vas”代表虚拟地址开始,我可以使用vas为页面地图文件建立索引,以获取映射的物理页面框架的64

  • 问题内容: Linux中是否有关于回收使用过的PID的政策?我的意思是,如果使用了PId,将在多长时间后再次使用它? 问题答案: 随着新进程的加入,PID将增加到与系统有关的限制,然后回绕。在这种回绕发生之前,内核将不会重用PID。 限制(最大pids)为。该手册说: (从Linux 2.5.34开始) 该文件指定 PID环绕 的值(即,该文件中的值比最大PID大1)。此文件的默认值导致PID范围