当你运行top并看到所有正在运行的进程时,我一直想知道每件事的真正含义.e、 g.运行过程的所有单字母状态代码(R=运行,S=睡眠等)

我在哪里能找到这个?

推荐答案

man page表示州代码映射到什么,但不是它们的实际含义.从top手册页:

'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie

"R"是最简单的;该进程已准备好运行,并将在轮到它使用CPU时运行.

"S"和"D"是两种睡眠状态,在这两种状态下,睡眠过程都在等待发生什么.区别在于"S"可以被信号中断,而"D"不能(通常在进程等待磁盘时出现).

"T"是进程停止的状态,通常通过SIGSTOPSIGTSTP.它也可以被调试器(ptrace)停止.当您看到这种状态时,通常是因为您使用了Ctrl+Z在后台放置命令.

"Z"是进程处于死状态(它已完成执行)的状态,唯一剩下的是在内核上描述它的 struct .它正在等待其父进程检索其退出代码,而不是更多.在其父进程完成后,它将消失.

Linux相关问答推荐

Linux/gcc中的文件创建时间系统调用

Linux和Windows x86程序集调用约定

Linux 中大型 TSV 的条件编辑

ShellScript,有更好的方法来查找具有特定名称和日期的文件吗?

在 Linux 上的 std::threads 中创建子进程

仅在 Linux 上出现 AWS RDS `flush tables` 错误的 mysqldump

如何从核心转储中获取线程名称?

如何恢复已停止的进程?

如何在ubuntu中通过.sh文件启动多个服务

函数在 shell 脚本中抛出错误语法错误:} unexpected

RealUID,保存的 UID,有效的 UID.这是怎么回事?

如何在 linux 'screen' 中搜索任何单词

Linux 应用程序分析

如何在 Linux 中为 C 或 C++ 的进程设置 CPU 亲和性?

将 bash 脚本添加到路径

to_string不是std的成员?

rm 没有释放磁盘空间

在文件夹中的 gzip 文件中查找字符串

如何查看线程在哪个 CPU 内核中运行?

libaio.so.1:无法打开共享对象文件