Linux系统中进程及服务的控制

1.什么是进程

操作系统最核心的概念就是进程。其实进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。

查看进程中正在运行的程序,可以通过ls /proc/来查看。

Linux系统中进程及服务的控制

2.图形的进程查看方式

利用gnome-system-monitor来查看,显示出来的就是图形化的当前正在运行的进程。

Linux系统中进程及服务的控制

3.查看进程的命令

查看命令的说明:whatis ps
ps
     a    当前环境相关进程
    -a    在当前终端中运行的进程,但不包含当前环境进程信息
    -A | -e    系统所有进程
     x    查看含有输出终端的进程
     f    查看进程的从属关系
     u    查看进程的所有人

Linux系统中进程及服务的控制

Linux系统中进程及服务的控制
ps ax -o comm,nice,%cpu,%mem,pid,user,group,stat

Linux系统中进程及服务的控制
ps ax --sort=%cpu(按CPU占用比顺序输出进程)
ps ax --sort=-%cpu(倒序)

输出cpu前五的pid,三种方法,如图所示:

Linux系统中进程及服务的控制

4.进程的优先级

进场的优先级范围:-20~19,且-20表示优先级最高
进程状态
S    进程状态
s    此进程为*进程
T    进程是暂停的
<    进程优先级高
N    进程优先级低
l   进程在内存中有锁定空间

ps -o nice,comm,pid   查看当前进程的优先级,命令及pid

Linux系统中进程及服务的控制

renice -n -5 pid    修改进程的优先级

Linux系统中进程及服务的控制
nice -n -5 命令 &    指定优先级开启进程

5.进程前后台的调用

ctrl+z    将占用进程的终端打入后台
ctrl+c    将占用当前终端的进程结束
jobs     查看被打入后台的进程
bg jobsnum    将指定进程在后台运行
fg jobsnum    将指定进程调回前台

Linux系统中进程及服务的控制

6.信号

1    进程不停止情况下重新加载配置
2    清除进程在内存中的数据
3    清除鼠标在内存中的进程
9    强行结束进程
15    正常关闭进程
18    运行停止的进程
19    暂停进程(不能被阻塞)
20    暂停进程(能被阻塞)

kill 信号 pid
killall 信号 进程名称

Linux系统中进程及服务的控制

7.服务的控管

systemctl start sshd    开启sshd
systemctl stop sshd    关闭sshd
systemctl restart sshd    重启sshd
systemctl status sshd    显示sshd状态
systemctl enable sshd    开机启动sshd
systemctl disable sshd    关闭sshd开机启动
systemctl list-units    列出系统中运行的服务
systemctl list-unit-files    列出系统中服务开机状态
systemctl list-dependencies sshd    列出服务依赖关系
systemctl mask sshd    冻结服务
systemctl unmask sshd    解锁服务
systemctl set-default multi-user.target    开机不启动图形
systemctl set-default multi-user.graphical.target开机启动图形

systemctl status sshd:

Linux系统中进程及服务的控制

systemctl list-units:

Linux系统中进程及服务的控制

systemctl list-unit-files:

Linux系统中进程及服务的控制

systemctl list-dependencies sshd:

Linux系统中进程及服务的控制