gpt4 book ai didi

linux - 不使用top和ps命令检查Linux中的进程

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:18 24 4
gpt4 key购买 nike

我想查看2000个进程中一个进程的状态,不使用topps命令。

进程的名称是tom

最佳答案

A process没有任何名称(只有它正在运行的程序有一个名称,但另请参阅 pthread_setname_np(3) ...您可能会遇到像 this 这样的病理情况)。它有一个 pid(这是一些整数,例如 1234,类型为 pid_t)。请参阅credentials(7)fork(2)execve(2) 。使用pidof(1)pgrep(1)查找某个进程的 pid。安executable程序(例如 /bin/bash)可以由多个进程运行(或者没有,或者只有一个)。

您可以使用kill(2)使用零信号号来检查进程是否存在。

最重要的是,您应该考虑使用 /proc/ (有关更多信息,请参阅 proc(5))。对于pid 1234的进程,请参见/proc/1234/,它有几个文件和子目录(特别是/proc/1234/status/proc/1234/maps)。在终端中尝试 cat/proc/$$/statuscat/proc/$$/maps 以及 stat/proc/$$/exels -l/proc/$$/ (然后将 $$ 替换为您感兴趣的任何 pid)。

topps 实用程序(以及 pidofpgrep 等)正在使用 /proc/(这是 Linux 内核显示进程和系统本身信息的方式)。您也可以使用 /proc/ 编写程序(或脚本)来执行此操作。另请参阅this .

从程序内部,您可以像探索其他文件树一样探索 /proc/,例如使用 stat(2) , opendir(3) , readdir(3) , nftw(3)等等

关于linux - 不使用top和ps命令检查Linux中的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47194820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com