今天继续给大家介绍Linux,本文主要内容是Linux进程控制与进程优先级。
一、Linux进程控制
在Linux系统中,kill命令被用作进程控制,该命令通过给进程发送信号量,从而可以对进程进行暂停、中止等操作,执行命令kill -l可以查看kill命令所支持的信号量
kill命令使用示例如下:
kill -19 22139
kill -18 22139
kill -15 22139
上述三条命令分别表示暂停PID为22139的进程,继续PID为22139的进程和中止PID为22139的进程
二、Linux进程优先级
Linux进程的调度由操作系统完成,操作系统会给予各个进程合适的分配资源,以更好的为用户服务,例如,让频繁进行文件读写操作的进程过长的占用CPU不是一个很好的办法,而给一些交互性很强的进程分配过少的资源则会导致用户体验感下降。
由于在系统中,并不是每个进程都同样重要,因此调度程序也会对这些进程选用不同的调度策略,越是重要的进程就越容易获得操作系统的调度。因此,我们也可以利用这一点,给一些进程赋予高的优先级,使其更容易获取系统资源。
在Linux系统中,进程的优先级是使用nice值来表示的,nice取值范围是-19到20,nice值越高,表示优先级越低,越不容易将CPU资源让出,nice值越低,表示优先级越高,该进程越容易让出CPU资源。
执行top命令,就可以查看当前系统的优先级,如下所示:
在上图中,NI表示实际的nice值,而PR是将nice值映射到更大的优先级队列。
在进程启动时,通常会继承其父进程的优先级,但是我们也可以手动设置或修改进程的优先级。
执行命令:
nice -n -20 systemctl start httpd
可以使得Apache服务在启动时优先级为-20,而执行命令:
renice -20 27599
可以修改PID为27599的进程优先级为-20,