Linux中进程的了解及部分常用命令

一.进程的了解

1、进程的概念

进程就是系统未完成并且正在进行的工作(比如运行中的软件)

线程:程序调用的最小单元(线程使用的系统资源可以来回切换)
进程:资源调用的最小单元(进程使用的系统资源不可以切换)

2、进程的状态

状态 意义
R(Running) 该程序正在运行
S(Sleeping) 该程序正在休眠,但可以被唤醒(通过signal)
D 该程序正在睡眠,不可被唤醒
T(stop) 停止状态,可能是在工作控制(背景暂停)或者除错(traced)的状态
Z(Zombie) 该程序处于僵尸状态,程序已经终止,但是无法被移除至内存外(无法结束进程)

3、如何查看进程

1)图形方式查看

gnome-system-monitor

2)进程查看命令

ps:静态查看进程信息
命令 功能
ps -A 系统所有环境中的所有进程
ps -a 当前环境中的所有进程,不包括自身环境的进程
ps -u 显示进程的用户信息
ps a 显示当前环境中运行的进程,包括环境信息(自身环境的进程)
ps x 列出系统中所有包含tty输出设备,在环境中有终端的才会显示出来,通常与a一起使用,可列出较完整的信息
ps f 显示进程的父子关系
ps e 显示进程的详细信息(系统资源的调用信息)
ps l 较长、较详细的将该PID的信息列出

(3)常用ps组合

命令 功能
ps aux 显示系统中所有进程,并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统的所有进程
pstree 显示当前系统的进程树

(4)显示进程指定信息

命令 功能
ps -o xxx 显示进程的指定信息
ps -o comm 显示进程名称
ps -o user 显示进程所有人
ps -o group 显示进程的所有组
ps -o %cpu 显示进程的cpu使用率
ps -o &mem 显示进程的内存使用率
ps -o pid 显示进程的pid
ps -o nice 显示进程的优先级

Linux中进程的了解及部分常用命令

(5)进程排序

命令 功能
ps ax --sort=+%cpu/-%cpu 按照cpu使用率由大到小或由小到大排序
+%mem/-%mem 按照内存使用率由大到小或由小到大排序

Linux中进程的了解及部分常用命令

二.stat中显示的信息

显示的信息 意义
S 进程的状态
l 内存中有锁定空间
N 优先级比较低
< 优先级比较高
+ 在前台运行的(此时进行操作会默认打开此文件)
s *进程

Linux中进程的了解及部分常用命令

三.进程的优先级

1、进程的优先级范围

-20~19

数值越小优先级越高

2、优先级的查看

命令 功能
ps ax -o pid,nice,comm 查看进程的pid,优先级,名称

Linux中进程的了解及部分常用命令

3、指定特定优先级开始这个进程

命令 功能
nice -n 数字 进程名称 以数字代表的优先级开始这个进程
nice -n 10 vim & 开启vim窗口,并指定程序以10的优先级开始

Linux中进程的了解及部分常用命令

4、改变进程的优先级

命令 功能
renice -n 数字 进程pid 改变该pid所表示的进程的优先级
renice -n -7 2234 改变2234进程的优先级为-7

四.环境中进程的前后台的调用

命令 功能
jobs 查看在环境后台的进程
Ctrl+z 把正在运行的进程打入后台
fg xx 把后台的进程(休眠)调回前台,xx为进程
bg xx 把后台暂停的进程运行(不意味着调回前台)
comm & 让命令直接在后台运行,不经过前台

Linux中进程的了解及部分常用命令

五.进程的信号

1、常用的信号等级及意义

等级 意义
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据(晃动鼠标则恢复)
9 强行结束单个进程(该信号不能被阻塞)
15 正常关闭进程(该信号可以被阻塞)
18 运行暂停的进程
19 暂停某个进程(该信号不能被阻塞)
20 把进程打入后台(该信号可以被阻塞)
命令 功能
man 7 signal 信号的详细信息查询
命令 功能
kill -信号数字 进程pid 对该pid代表的进程执行信号数字表示的操作
killall -信号数字 进程名字 对含有进程名字的一类进程执行信号数字表示的操作
pkill -u student -信号数字 执行某一信号的批量处理

Linux中进程的了解及部分常用命令

六.进程的动态监控

1、top

命令 功能
top 1. 显示cpu每个核的负载
top s 调整刷新频率
top c 按cpu负载使用率进行排序
top m 按内存使用率进行排序
top h 查看帮助
top u 查看指定用户进程
top k 对指定的进程发起信号
top q 退出

七.控制服务

1、控制服务的方式

系统初始化进程可以对服务进行相应的控制

2、当前系统的初始化进程是什么

命令 功能
systemd 系统初始化进程
pstree 系统中的进程树

3、远程登录及远程复制

命令 功能
ssh [email protected] 登录至此机中
scp -r file/dir [email protected]:/root/Desktop 将目录或文件远程复制至该机的桌面

Linux中进程的了解及部分常用命令
Linux中进程的了解及部分常用命令

4、进程的控制命令

ssh–>sshd
client server

命令 功能
systemctl 服务控制命令
systemctl status sshd 查看服务状态,若显示inactive则不可用,显示active则可用
systemctl start sshd 开启服务
systemctl stop sshd 关闭服务
systemctl restart sshd 重启服务
systemctl reload sshd 重新加载服务的配置
systemctl enable sshd 设置该服务开启自动启动
systemctl disable sshd 设置该服务开启不启动
systemctl list-units sshd 列出已经开启的服务当前的状态
systemctl list-unit-files sshd 列出所有服务开机时的状态
systemctl list-dependencies sshd 列出服务的依赖
systemctl set-default multi-user.targer sshd 设定系统启动时默认为多用户模式
systemctl set-default graphical.targer sshd 设定系统启动时默认为图形模式

5、添加sshd登录信息

命令 功能
vim /etc/motd 文件内容就是登录后显示的信息

6、用户的登录审计

(审计就是审查记录)

(1)w

命令 功能
w 查看正在使用当前系统的用户,查看的是/var/run/utmp文件
w -f 查看正在使用当前系统的用户的使用来源
w -i 显示正在使用当前系统的用户的IP

Linux中进程的了解及部分常用命令

(2)last

命令 功能
last 查看使用过并且退出的用户信息,查看的是/var/log/wtmp文件

Linux中进程的了解及部分常用命令

(3)lastb

命令 功能
lastb 查看试图登录,但没成功的用户信息,查看的是/var/log/btmp文件