参考https://www.cnblogs.com/FengZeng666/p/14211704.html
https://blog.csdn.net/a12345555555/article/details/72770789
linux上进程有5种状态:
- 运行(正在运行或在运行队列中等待)
- 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
- 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
- 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
Linux中tty是什么(tty1~7)
tty:终端设备的统称。
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
tty1~6是文本型
控制台,tty7是X Window图形
显示管理器。
在本地机器上可以通过Ctrl+Alt+F1(F1-F7键)
切换到对应的登录控制台。
ps aux和ps -ef区别
他们都是用来显示当前运行的进程,但是:
ps aux
是用BSD的格式来显示这个进程
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef
是用标准的格式显示这个进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
ps -ef 是用标准的格式
显示进程的、其格式如下
- UID 指进程的所有者;用户ID、但输出的是用户名
- PID 是进程的唯一标识;
- PPID 是进程的父进程 ID;
- C 是 CPU 的利用率 进程占用CPU的百分比
- STIME 进程启动到现在的时间 ;
- TTY 是进程所在的 TTY,如果没有 TTY 就是 ?号; 若为
pts/0
等,则表示由网络连接主机进程
。 - TIME;
- CMD 是进程启动时的命令,如果不是一个 Shell 命令,而是用
方括号
括起来,那就是系统进程或者内核过程。
USER 进程的属主;
PID 进程的ID;
%CPU 进程占用的CPU百分比;
%MEM 占用内存
的百分比;
VSZ 进程使用的虚拟內存量
(KB);
RSS 该进程占用的固定內存
量(KB)(驻留中页的数量);
TTY 该进程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?
)。
若为pts/0等,则表示由网络连接主机进程
START 該進程被觸發启动时间;
TIME 該进程實際使用CPU運行
的时间;
COMMAND 命令的名称和参数;
STAT狀態位常見的狀態字符
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
- 位于后台的进程组;