参看传智播客讲师刑文鹏的课件
一、who命令---显示系统登陆者
who命令能够打印 当前都有谁登录到系统中 的相关信息 。who命令只会显示真正登录到系统中的用户。它不会显示那些通过su命令切换用户的登录者。
五列输出的理解:
- 第一列显示用户名称
- 第二列显示用户连接方式。Tty意味着用户直接连接到电脑上,而pts意味着远程登录。
- 第三、四列分别显示日期和时间
- 第五列显示用户登录IP地址。
注意:
默认情况下tty1-tty6分配给了字符终端(黑窗口终端)
二、PS
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.
ps [options]
-e 显示所有进程
-f 全格式。
-h 不显示标题
-l 长格式
-w 宽输出
a 显示终端上的所有进程,包括其他用户的进程
r 只显示正在运行的进程
x 显示没有控制终端的进程
ps -aux
Header标头解释
USER 用户名
UID 用户进程(USER ID)
PID 进程ID(Process ID)
%CPU 进程的CPU占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚拟内存大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty),下面为问号的说明没有执行终端
STAT 进程的状态:进程状态使用字符表示
R---运行Runnable(on run queue)
sleep---睡眠sleeping
I---空闲IDLE
Z---僵死Zombie
D---不可中断Uninterruptible
T---停止Terminate
P---等待交换页
X---死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
START 启动时间
COMMAND 命令名叫什么
三、jobs
用来显示当前shell下正在运行那些作业(即后台作业)
四、fg
把指定的后台作业或挂起作业移到前台运行。参数job是一个或多个进程的PID,或者是命令名称,或者是作业号(作业号前面要带一个%号)。
也可以在执行一个进程的时候加 &,比喻将a.out进程放到后台执行,【./a.out &】
在shell中输入cat,然后Ctrl+Z挂起当前进程。同时开3个cat进程,分别挂起。然后执行jobs查看被挂起的进程。fg可以将被挂起的进程移动到前台运行。
五、bg
bg [job…]
把被挂起的进程提到后台运行。其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要加%号。
六、kill
向指定进程发送信号
kill [signal | -s signal] pid…
kill –l 查看系统定义的64个信号
按下Ctrl+C实际执行的就是SIGINT信号
11号信号就是对内存非法操作产生的
七、环境变量
env 查看当前进程环境变量
vim ~/.bashrc 配置当前用户环境
vim /etc/profile 配置系统环境变量,配置时需要有root权限
配置方法:在打开文件的最后一行新增路径即可,export PATH=$PATH:新路径