七.Linux中的进程管理

一.进程定义 


进程的定义:
程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,终止期)

进程&线程
进程是资源调用的最小单位(操作系统的)
线程是进程的最小单位(cpu的调度)


程序执行流是从上倒下贯穿运行的

当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的.

进程状态
R(TAKS_RUNNING)    可执行态(running,ready)
S(TASK_INTRRUPTABLE)    可唤醒休眠
D(TASK_UNINTRRUPTABLE)    不可唤醒休眠
T(TASK_STOP)        暂停状态
Z(EXIT_ZOMBIE)         僵死态

二.进程查看命令 


gnome-system-monitor        图形进程查看工具

1.ps     进程查看          ps 命令的三种执行风格 unix bsd GNU
                a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)


                x 与终端无关相关的进程


                u 用户信息归类的查看方式


                f 进程层级关系


                o    显示指定参数 pid comm nice pri pcpu ppid stat,user,group  (不能和u同时使用)


                -e 显示所有进程


                -f 显示信息的完整格式
                -H 显示进程的层级结构


                -o 显示指定参数


                --sort=


                ps ax显示信息如下:
                PID    进程id
                TTY    进程用到的终端
                STAT    进程状态
                TIME    进程占用cpu时长
                COMMAND 进程名称
                ps aux显示信息如下:
                USER    进程所有人
                PID    进程id
                %CPU    进程使用cpu的用量
                %MEM    进程所用到的内存用量
                VSZ    进程使用的虚拟内存大小
                RSS    进程常驻内存中的数据大小
                TTY    进程用到的终端
                STAT    进程状态
                START    进程运行时长
                TIME    进程占用cpu时长
                COMMAND    进程名称

2.pgrep      进程过滤
                -u uid        显示指定用户进程
                -U user    显示指定用户进程
                -t tty        显示指定终端进程
                    -l        显示进程名称
                   -a        显示进程的完整名称
                -P        显示进程的子进程

        ps ax | grep vim  过滤查看某个进程

3.pidof    vim            查看vim的pid   (查看某个进程的pid)

4.top(界面熟悉)           动态进程查看   (进入后可内部命令调整)
           top中的内容显示信息
                09:48:51     系统时间
                up 18:54    运行时长
                2 users    系统中有两个用户登陆
                load average: 0.75, 0.53, 0.41
                        1min 5min  15min (这三个时间cpu平均负载)
           Tasks:
                 331 total 任务总量
                 3 running    正在运行
                 329 sleeping    休眠任务数量
                 0 stopped    被暂停数量
                 0 zombie    僵死任务数量  
            %Cpu(s)
                 1.5 us        用户空间
                1.9 sy        内核空间
                0.0 ni        nice值(cpu优先级)调整时间
                58.9 id    空闲时间
                0.0 wa        等待io时间
                2.1 hi        处理硬件中断时间
                0.2 si        处理软件中断时间
                0.0 st        被偷走的时间(vm虚拟机使用时间)(在window系统中使用虚拟机)
             MiB Mem :
                7664.6 total,    总量
                5383.9 free    空闲
                1312.1 used    占用
                968.8 buff/cache    缓存  

                          available mem   可用内存(=空闲+缓存)                
             MiB Swap:    交换分区用量 (磁盘空间)(使用空间不足时才用)
                
      top命令的参数
                -d    指定刷新频率
                -b    以批次方式显示
                -n    指定显示的批次数量
                
             top内部指令
                P    cpu排序
                M    内存排序
                T    累计展铜cpu时间排序
                l    关闭/开启uptime信息
                t    关闭/开启cpu&task
                s    指定刷新频率
                k    操作进程            (选取pid,发送关闭指令(15),(9顽固进程))
                u    查看指定用户进程
          top -d 1 -b -n 2 > test (top信息保存)

 三.进程优先级 


系统时多任务多用户的操作模式,任务的重要性是有区分的,如何确定任务的重要性,“优先级”  (数值越大 优先级越小).
范围: 0--139
内核自控优先级范围:0-99
用户可控优先级:100-139  = (nice -20到19 )

renice -n -5 43331    更改优先级vim
nice -n -5 vim &    指定优先级打开进程
ps -o nice,comm,pid(优先级查看)


S    sleeping
<    优先级高
s    顶级进程
T    stop
N    优先级底
R    running
+    运行在前台

四.进程前后台调用 


jobs        查看当前shell中在后台的所有工作

&        运行进程在后台

fg        把后台进程调回前台

<ctrl>+<z>    把占用shell的进程打入后台挂起
bg        把后台挂起的进程运行起来

五.进程信息号 

1.进程信号

1    重新加载系统配置文件(source)         (例如不停机更新)


2    清空内存中的进程数据


3    清空内存中的鼠标(ctrl+\)
9    强行结束进程(不能被阻塞)


15    正常关闭进程(会被阻塞)


18    运行被暂停的进程
19    暂停进程(不会被阻塞)
20    暂停进程(会被阻塞的)

2.进程信号控制工具
kill    进程信号    pid
killall 进程信号    进程名字   (相同进程一次杀完)


pkill    进程信号    进程条件


六.systemd守护进程 


1.实验环境
localhost   -------- > 172.25.18.3
server2 ----------> 172.25.18.2(设置完需重启下网络)
远程操作主机
ssh 远程主机ip -l 远程主机用户  

ssh 远程主机用户@远程主机ip


2.守护进程
替内核分担程序控管的程序
通常pid为1 


systemd (进程启动方式,并行启动服务,快)               systemctl(管理工具)
systemctl 管理系统服务

netstat -antlp(本机对外开放的服务/端口有哪些)
服务指在系统中开启的共享系统资源到网络中的程序
cs    client ------   server

3.systemctl命令的用法
    start            开启


    stop            关闭


    status           查看状态


    reload            重新加载
    restart            重新启动服务
    enable            设定服务开机启动
    enable --now        设定服务开机启动并当前开启服务
    disable            设定服务开启启动
    list-units        查看系统所有服务当前状态
    list-unit-files        查看服务开机状态
    list-dependencies   列出服务依赖性
    mask            冻结服务


    unmask            解锁


    

4.set-default        设定系统运行模式
                multi-user.target   无图形网络模式
                graphical.target    有图形的网络模式


    get-default        查看系统运行模式


  系统运行模式
    init     +      ( 0-6 )
                0    POWEROFF(关机)
                1    single (单用户,多用于排错)
                2    noG+NETWORK(无图形有网络)
                3                                (无图形多用户有网络)
                4                                 (保留)
                5    G+NETWORK(有图形有网络)
                6    REBOOT(重启)

七.系统中的登陆审计 


w        显示正在登陆系统的账号
        -i    显示登陆来源
        /var/run/utmp(用户登录信息来源)

last        登陆成功现在已经退出的
        /var/log/wtmp(用户登录信息来源,黑客扫尾工作)

lastb       试图登陆但未成功
        /var/log/btmp(用户登录信息来源)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值