1.查看进程
- w
帮助我们快速了解系统中目前有哪些用户登录着,以及他们在干什么。
- ps
用于显示当前系统中的进程, ps 命令显示的进程列表不会随时间而更新,是静态的,是运行 ps 命令那个时刻的状态或者说是一个进程快照。
[root@lion ~]# ps PID TTY TIME CMD 1793 pts/0 00:00:00 bash 4756 pts/0 00:00:00 ps PID:进程号,每个进程都有唯一的进程号 TTY:进程运行所在的终端 TIME:进程运行时间 CMD:产生这个进程的程序名,如果在进程列表中看到有好几行都是同样的程序名,那么就是同样的程序产生了不止一个进程
(1)常用组合之一:aux
- a:所有与终端相关的进程
- x:所有与终端无关的进程
- u:以用户为中心组织进程状态信息显示
- CPU%:cpu 时间占用比率
- MEM%:内存占用百分比
- VSZ:virtual size 虚拟内存集;
- RSS:Resident Size,常驻内存集;
- STAT:
- R:running 运行
- S:interruptable sleeping 可中断睡眠
- D:uninterruptable sleeping 不可中断睡眠
- T:Stopped 停止
- Z:zombie 僵死态
- +:前台进程
- l:多线程进程
- N:低优先级进程
- <:高优先级进程
- s:session leader 进程领导者
(2)常用组合之二:-ef
- -e:显示所有进程
- -f:显示完整格式的进程信息
(3)常用组合之二:-eFH
- -F:显示完整格式的进程信息;
- C:cpu utilization cpu 占用百分比
- PSR:运行于哪颗 CPU 之上
- -H:以层级结构显示进程的相关信息;
(4)常用组合之四:-eo, axo
- o field1, field2,…:自定义要显示的字段列表,以逗号分隔
- pid:进程的 pid 号
- ni:nice 值
- priority:优先级
- psr:运行在那颗 cpu
- pcpu:cpu 利用率
- ppid:父进程的 id 号
- rtprio:实时优先级
- top
获取进程的动态列表。
- top – 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05
- 14:58:34:当前时间
- up 5:28:运行时长
- 1 user:登录当前系统上的用户数
- load average: 0.01, 0.02, 0.05:平均负载(等待运行的队列长度的负载)
- Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie
- Tasks: 任务
- 353 total:一共运行多少进程
- 2 running:几个处于运行
- 351 sleeping:多少个睡眠
- 0 stopped:多少个停止
- 0 zombie:多少个僵死
- %Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- %Cpu:cpu 占用百分比
- 0.0 us:用户空间占用的百分比
- 0.7 sy:内核空间占用时间的百分比
- 0.0 ni:对 nice 调整占用的内存百分比
- 99.3 id:空闲百分比
- 0.0 wa(wait):等待 IO 完成所消耗的百分比
- 0.0 hi:处理硬件中断所占用的百分比
- 0.0 si:处理软件中断所占用的百分比
- 0.0 st:被偷走的百分比(虚拟化程序)
- KiB Mem : 1001332 total, 681052 free, 139844 used, 180436 buff/cache
- KiB Mem:内存空间占用,以 KB 为单位:
- 1001332 total:总内存空间
- 681052 free:剩余内存空间
- 139844 used:已用内存空间
- 180436 buff/cache:用于缓存和缓冲的内存空间
- KiB Swap: 2098172 total, 2098172 free, 0 used , 698100 avail Mem
- KiB Swap:swap 空间占用,以 KB 为单位
- 2098172 total:总空间
- 2098172 free:剩余空间
- 0 used:已用空间
- 698100 avail Mem :有效 swap 大小
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- PID: 用户 pid
- USER: 用户名称
- PR: 优先级
- NI:nice 值
- VIRT:virtual size 虚拟内存集
- RES: 常驻内存集
- SHR: 共享内存空间
- S: 当前状态
- %CPU: 占据 CPU 百分比
- %MEM: 占据 MEM 百分比
- TIME+: 运行时长
- COMMAND: 命令
- top 内排序:
- P:以占据 CPU 百分比排序
- M:以占据内存百分比排序
- T:累积占用 CPU 时间排序
- kill
结束一个进程,kill + PID 。
kill 956 # 结束进程号为956的进程 kill 956 957 # 结束多个进程 kill -9 7291 # 强制结束进程
2.管理进程
- 进程状态
- 状态码 R :表示正在运行的状态;
- 状态码 S :表示中断(休眠中,受阻,当某个条件形成后或接受到信号时,则脱离该状态);
- 状态码 D :表示不可中断(进程不响应系统异步信号,即使用kill命令也不能使其中断);
- 状态码 Z :表示僵死(进程已终止,但进程描述符依然存在,直到父进程调用 wait4() 系统函数后将进程释放);
- 状态码 T :表示停止(进程收到 SIGSTOP 、 SIGSTP 、 SIGTIN 、 SIGTOU 等停止信号后停止运行)。
- 前台进程 & 后台进程
- &
启动后台进程,它的缺点是后台进程与终端相关联,一旦关闭终端,进程就自动结束了。
cp name.csv name-copy.csv &
- nohup
使进程不受挂断(关闭终端等动作)的影响。
nohup cp name.csv name-copy.csv
nohup 命令也可以和 & 结合使用。
nohup cp name.csv name-copy.csv &
3.守护进程
守护进程的名字通常会在最后有一个 d ,表示 daemon 守护的意思,例如 systemd 、httpd 。
- systemd
systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序。通过命令也可以看到 PID 为1的进程就是 systemd 的系统进程。
systemctl start nginx # 启动服务 systemctl stop nginx # 停止服务 systemctl restart nginx # 重启服务 systemctl status nginx # 查看服务状态 systemctl reload nginx # 重载配置文件(不停止服务的情况) systemctl enable nginx # 开机自动启动服务 systemctl disable nginx # 开机不自动启动服务 systemctl is-enabled nginx # 查看服务是否开机自动启动 systemctl list-unit-files --type=service # 查看各个级别下服务的启动和禁用情况
4.关闭selinux
(1)临时关闭
setenforce 0
(2)永久关闭
vim /etc/selinux/sysconfig
修改为disable
查看selinux getenforce