Linux进程与任务管理
前言
一、查看进程
- 内核功能:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等
对于所有的操作系统,都有基本的功能 - 程序
- 保存在硬盘、光盘等介质中的可执行代码和数据
- 静态保存的代码
- 进程
- 在CPU及内存中运行的程序代码
- 动态执行的代码
- 父、子进程(每个程序可以创建一个或多个进程)
- 进程和线程的区别
- 线程在进程下运行
- 一个进程可以包含多个线程
- 多个线程可共享数据
(1)查看进程信息-ps
①ps -aux——查看静态的进程统计信息
a:显示当前终端下的所有进程信息,包括其他用户的进程,与“x”选项结合使用时将显示系统中所有的进程信息
u:使用以用户为主的格式输出进程信息
x:显示当前用户在所有终端下的进程信息
名称 | 解释 |
---|---|
USER | 启动该进程的用户账号名称 |
PID | 进程的ID |
%CPU | 进程占用的CPU百分比 |
%MEM | 占用内存的百分比 |
Vsz | 该进程使用的虚拟内存量(KB) |
RSS | 该进程占用的物理内存量(KB) |
TTY | 启动进程的终端名。不是从终端启动的进程则显示为“?” |
STAT | 该进程的状态(D:不可中断的休眠状态:R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态: Z:僵尸进程,进程已经中止,但是部分程序还在内存当中) |
START | 该进程被触发启动时间 |
TIME | 该进程实际使用CPU运行的时间 |
COMMAND | 进程的启动命令 |
僵厂进程: 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源
- -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
- -R:该进程正在运行。
- -S:该进程处于睡眠状态,可被唤醒。
- -T:停止状态,可能是在后台暂停或进程处于除错状态。
- -W:内存交互状态(从 2.6 内核开始无效)。
- -X:死掉的进程(应该不会出现)。
- -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
- -<:高优先级(以下状态在 BSD 格式中出现)。
- -N:低优先级。
- -L:被锁入内存。
- -s:包含子进程。
- -l:多线程(小写 L)。
- -+:位于后台。
- -C:进程占用CPU的百分比
示例:
- ctrl+c :发送 SIGINT 信号,终止一个进程
- ctrl+z :发送 SIGSTOP 信号,挂起一个进程。将作业放置到后台(暂停)
- ctrl+d :不是发送信号,而是表示一个特殊的二进制值,表示 EOF。代表输入完成或者注销