Linux进阶之路03-进程.信号与服务

进程及服务的控制

1.什么是进程
系统中正在进行的程序
2.图形的进程查看方式
gnome-system-monitor(可以调出当前的所有进程<以图形界面显示>)
3.查看进程的命令
 ps        查看进程
      a    当前进程相关进程(包含了当前环境本身信息<在shell中输入此命令就只会显示和shell相关的进程>)
      -a    显示当前终端中的所有进程(不包含当前环境本身信息)
      -A|-e    系统所有进程
      x    包含含有终端的所有(必须含有tty(字符输出设备的))进程
      f    查看进程的从属关系
      u    进程的所有人

    ps ax -o comm,nice,%cpu,%mem,pid,user,group,stat    
    查看进程名.优先级(数字形式),cpu占用率,内存占用率,进程号,用户,用户组,优先级(字符形式)

ps ax --sort=%cpu    (顺序显示当前对cpu占用的进程)
ps ax --sort=-%cpu    (倒序)
<因为有的进程会非常之多,因此我们可以让其显示占用最高/低的前几行来>
Linux进阶之路03-进程.信号与服务_第1张图片

4.进程的优先级

进程的优先级有两种表示方式

      1.数字形式

                 -20—19
                数值越小表示优先级越高

      2.字符形式

进程状态:
S        表示进程状态
s        表示此进程为顶级进程
T        表示进程是暂时停止的
<        表示进程的优先级高
‘空’     表示进程的优先级普通
N        表示进程优先级低
l        表示进程在内存中有锁定空间

renice -n -5 pid    指定修改进程的优先级为-5(重新设定优先级为-5)

<调用了一个vim并且打入了后台,它的pid为79173,调用ps ax -o comm,pid,nice,stat找出vim的优先级>

<可以看到现在vim的优先级为0,且进程此时是暂停的>

<修改了优先级为-7>

<现在的vim优先级已经为-7,且字符型表示已经变为优先级高>
nice -n -5 命令 &    指定优先级开启进程(在开启的时候优先级就为-5)

<关闭之前的vim重新开启一个vim,可以看到这个命令是在打开vim的时刻就执行了>

5.进程前后台的调用
ctrl+z    将占用终端的进程打入后台停止
jobs    查看当前后台暂时挂起的所有进程
Linux进阶之路03-进程.信号与服务_第2张图片

<此处我打开了两个进程,第一个是vim并打入后台,第二个是gedit也打入了后台,运行jobs命令可以看到上述显示>
    -优先级低
    +优先级高
    <先打入后台的优先级最低,后打入后台的优先级高(可以理解为堆栈原理,先放进去的默认后出来)>
bg jobsnum    将指定进程在后台运行(jobsnum为进程的序号,上图的红色框)
fg            默认将后台优先级最高的先调到前台
fg  jobnum     将指定进程调回前台
ctrl+c    将占用当前终端的进程结束(需要把进程调回前台才能关闭)

6.信号
-1        进程不停止的情况下重新加载配置(每次启动会重新配置一个pid,此命令最直观的现象就是pid号没有发生改变,但是其他修                                                                      改命令已经执行)
-2        清除进程在内存中的数据
-3        清除鼠标在内存中的数据(鼠标在此进程中会消失,移动鼠标会再次出来,想想你一般全屏看视频的时候,鼠标箭头烦不烦人..)
-9        强行结束进程(不论你运行还是在暂停,强制退出!)
-15        正常关闭进程(这是温和一点的关闭进程,如果系统判断如果关闭这个进程可能会造成其他影响,则这个命令会被拒绝)
-18        运行停止的进程(恢复暂停的进程)
-19        暂停进程(不能被阻塞)(暴力暂停....)
-20        暂停进程(可以被阻塞)(温和暂停...)

kill 信号  pid             对单个进程执行某一操作

killall 信号    进程名称        对所有这个名称的进程执行此操作

Linux进阶之路03-进程.信号与服务_第3张图片

<在次数我打开了三个vim并且都打入了后台>

Linux进阶之路03-进程.信号与服务_第4张图片

<此处对81167执行了-9强制退出操作,可以看到只退出了一个vim>

<执行killall命令,可以看到,剩下的两个vim都被强制退出了!>


7.服务的控管
systemctl start sshd.service                                    开启sshd服务(一个是否允许他人进入自己系统的服务)
systemctl stop sshd.service                                    关闭服务
systemctl status sshd.service                                 显示当前服务于状态
systemctl restart sshd.service                                 重启服务
systemctl enable sshd.service                                开机自启动服务
systemctl disable sshd.service                                开机不允许启动服务
systemctl list-units                                                   列出系统中运行的服务
systemctl list-unit-files                                             列出系统中服务开机状态
systemctl list-dependencies sshd                           列出服务依赖关系
systemctl mask sshd.service                                   冻结sshd服务
systemctl unmask sshd.service                               解锁sshd服务
systemctl set-default multi-user.target                    开机不启动图形
systemctl set-default multi-user.graphical.target    开机启动图形

级别有0-6,0是关机,6是重启,234是无图形的界面,5是有图形的界面

Linux进阶之路03-进程.信号与服务_第5张图片

<可以看到当前我的sshd服务是开启的>

Linux进阶之路03-进程.信号与服务_第6张图片

<关闭了此服务后的显示>

你可能感兴趣的:(Linux)