进程的含义为正在运行的程序,包括这个运行的程序所占用的系统资源。进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的一个独立单位。同一个程序,同一时刻被两次运行了,它们就是两个独立的进程。
初识进程
程序(program)是一个普通文件,是为了完成特定任务而准备好的指令序列与数据的集合,这些指令和数据以“可执行映像”的格式保存在磁盘中。例如:hello.c源程 序文件经过编译后产生a.out程序,其中a.out文件为可执行镜像格式,Linux 的/bin、/sbin、/usr/bin、/usr/sbin目录下保存着诸多的程序文件。
进程(process)是一个已经开始执行但还没终止的程序实例。Linux系统下使用ps 命令可以查看到当前正在执行的进程。每个进程包含有进程运行环境、内存地址空 间、进程ID、和至少一个被称为线程的执行控制流等资源。同一个程序可以实例化为 多个进程实体。操作系统中所有进程实体共享着计算机系统的CPU、外设等资源。
线程:操作系统进行运行调度的基本单位
也就是说进程是程序的动态执行,一旦运行就会有一个进程ID;
程序是一个静态的普通文件,里面包含为完成特定任务而准备的指令与数据,程序一旦运行结束就会将所占资源释放掉。
进程是已启动的可执行程序的运行实例。进程有以下组成部分。
- 已分配内存的地址空间
- 安全属性,包括所有权凭据和特权
- 程序代码的一个或多个执行线程
- 进程状态
每个进程都有唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID,需要给该进程分配系统资源。
查看进程
Linux 系统提供了一些命令来查看进程。常用的进程查看命令包括:
ps
:显示当前系统中的所有进程。top
:实时显示当前系统中的进程状态。pstree
:显示进程的树形结构。
信号控制进程
信号是一种软件中断,可以用来控制进程的运行。Linux 系统支持多种信号,其中常用的信号包括:
SIGKILL
:终止进程。SIGINT
:中断进程。SIGQUIT
:终止进程并产生 core 文件。SIGSTOP
:停止进程。SIGCONT
:恢复进程的运行。
进程优先级
进程优先级用于决定进程的调度顺序。优先级越高的进程越有可能被调度执行。Linux 系统中的进程优先级范围为 -20 到 20。
调整进程优先级
openEuler 中使用 nice 和 renice 调整进程的 nice 值,进而影响进程优先级
nice 命令语法,优先序(adjustment 取值范围 -19 ~ 20):
nice [-n adjustment][command][arg...]]
例如,将 vi 运行的优先级设置为 -18:
nice -n -18 vi &
作业控制
作业是指由一个或多个进程组成的集合。作业控制用于管理多个进程的运行。Linux 系统提供了一些命令来控制作业。常用的作业控制命令包括:
bg
:将暂停的进程转到后台运行。fg
:将后台进程转到前台运行。jobs
:列出当前系统中的所有作业。
进程管理示例
以下是一个使用 ps
命令查看进程的示例:
$ ps
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
1235 pts/0 00:00:00 ps
以下是一个使用 kill
命令终止进程的示例:
$ kill -9 1235
以下是一个使用 bg
命令将进程转到后台运行的示例:
$ bg
[1] + 1236 &
标签:00,优先级,管理,程序,Linux,进程,运行 From: https://www.cnblogs.com/sangzhi/p/17863460.html