系统进程及服务控制

linux除了是一种多用户操作系统之外,还是一种多任务系统。多任务意味着可以同时运行多个程序。一个运行程序的示例通常被称为一个进程可以通过一个Shell启动、暂停、停止或者杀死进程。还可以将进程放置到后台以及带到前台。其主要命令有ps,top,kill,jobs以及其他管理进程的命令

什么是进程?   进程就是系统未完成并且正在进行的工作

查看进程的方式有:1.图形方式查看  2.命令查看

查看进程的命令有

ps [-A] [-a] [-u] [a] [x] [f] [e] [aux] [ef] [ax]
ps 描述
-A 所有进程
-a  在当前环境中运行的进程,不包函环境信息
-u  显示进程用户信息
a   在当前环境中运行的进程
列出系统中所有运行包含tty输出设备
  f   显示进程的父子关系
e 显示进程的详细信息(系统资源的调用)
aux   显示系统中所有进程并显示进程用户
ef   显示进程详细信息并显示进程父子关系
ax   显示当前系统中的所有进程

上图中STAT列表示出进程的状态,其中S表示一个当前运行的进程,R表示一个睡眠进程,+表示进程与前台操作相关联

显示进程指定信息

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

 进程排序    
    ps ax  --sort=
                            +%cpu|-%cpu  (正序|逆序cpu)
                            +%mem|-%mem(正序|逆序mem)

3.进程优先级
    1).进程的优先级范围
        -20~19

    2).优先级查看
        ps ax -o pid,nice,comm

    3).指定某个优先级开启进程
        nice -n 优先级数字    进程名称
        nice -n -5 vim &    ##开启vim并且指定程序优先级为-5

    4).改变进程优先级
       reince -n 优先级数字    进程pid
       renice -n -5 1806    ##改变1806进程的优先级为-5

4.环境中进程的前后台调用
    jobs            ##查看被打入环境后台的进程
    ctrl+z            ##把占用终端的进程打入后台
    fg jobsnum        ##把后台进程调回前台
    bg jobsnum        ##把后台暂停的进程运行
    comm &            ##让命令直接在后台运行

5.进程信号
1.常用信号等级
1        ##进程重新加载配置


2        ##删除进程在内存中的数据
3        ##删除鼠标在内存中的数据
9        ##强行结束单个进程(不能被阻塞)
15        ##正常关闭进程     (可能会被阻塞)    
18        ##运行暂停的进程
19        ##暂停某个进程     (不能被阻塞)
20        ##把进程打入后台    (可以被阻塞)
man 7 signal    ##查看信号详细信息

kill     -信号     进程pid
killall -信号    进程名字
pkill    -u student -信号   

6.进程的动态监控
top
    l     ##显示cpu每个核的负载
    s    ##调整刷新频率
    c    ##CPU负载排序
    m    ##内存使用量排序
    h    ##查看帮助
    u    ##查看指定用户进程
    k    ##对指定进程发起信号
    q    ##退出

7.控制服务
1.什么是服务

service(也称为daemon)表示后台运行的程序

2.用什么控制服务
    系统初始化进程可以对服务进行相应的控制

3.当前系统初始化进程是什么
    systemd        ##系统初始化进程
    pstree        ##显示系统中的进程树

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    ##列出已经开启服务当前状态


    systemctl     list-unit-files    ##列出所有服务开机启动的状态 disable,enable,static,masked


    systemctl     list-dependencies    ##列出服务的倚赖


    systemctl    set-default multi-user.target    ##设定系统启动级别为多用户模式(无图形)


    systemctl    set-default graphical.target    ##设定系统启动级别为图形模式

猜你喜欢

转载自blog.csdn.net/qq_42241932/article/details/81196634