ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 进程概念 从用户角度:进程就是一个正在运行中的程序。 操作系统角度:操作系统运行一个程序,需要描述这个程序的运行过程,这个描述通过一个结构体`task_struct{}`来描述,统称为`PCB`,因此对操作系统来说进程就是`PCB(process control block)`程序控制块 进程的描述信息有:标识符`PID`,进程状态,优先级,程序计数器,上下文数据,内存指针,`IO`状态信息,记账信息。都需要操作系统进行调度。 # 查看进程 查看进程,我们使用`ps`命令即可查看 语法: ~~~ ps [options] ~~~ 选项: * `-A`: 列出所有的进程 * `-w`: 显示加宽可以显示较多的资讯 * `-au`: 显示较详细的信息 * `-aux`: 显示所有包含其他使用者的行程 `aux`格式输出示例如下: ~~~ [root@bogon ~]# ps -aux | head -3 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 193968 5232 ? Ss 11月28 0:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 11月28 0:00 [kthreadd] ~~~ * `USER`:启动此进程的用户,也就是进程的拥有者 * `PID`: 进行`ID` * `%CPU`:当前进程对`CPU`的占用率 * `%MEM`:当前进程对内存的占用率 * `VSZ`:占用虚拟内存的大小 * `RSS`:占用实际内存的大小 * `TTY`:进程运行的终端,如果是`?`则表示是本机打开的,远程登录通常是`pts` * `STAT`:进程状态: * `D`(不可中断休眠状态)——进程正在休眠并且不能恢复,直到一个事件发生为止 * ` R`(运行状态)——进程正在运行 * `S`(休眠状态)——进程没有在运行,而在等待一个事件或是信号 * `T`(停止状态)——进程被信号停止,比如,信号 `SIGINT` 或 `SIGSTOP` * `Z`(僵死状态)——标记为 的进程是僵死的进程,它们之所以残留是因为它们的父进程适当地销毁它们。如果父进程退出,这些进程将被 init 进程销毁 * `START`: 进程开始执行的时间 * `TIME`:进行执行的时间 * `START`: 进程开始时间 * `COMMAND`:所执行的命令