Linux Four

进程

进程是已启动的可执行程序的运行实例,进程有以下组成部分

        已分配内存的地址空间 ,安全属性包括所有权凭证和特权,程序代码的一个或多个执行线程,进程状态

程序:二进制文件 静态的存储在磁盘上

进程:是程序执行的过程,动态,有生命周期及运行状态

进程的生命周期

父进程复制自己的地址空间(fork)创建一个新的子进程结构。每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性之需 PID和父进程ID(PPID)是子进程环境的元素,任何进程都可以创建子进程 

子进程继承父进程的安全身份,文件描述符,端口,环境变量以及程序代码

在多任务处理操作系统中 每个CPU在同一个时间点只能处理一个进程,在程序运行时,它对CPU时间和资源分配的要求会不断变化

查看进程 ps top

了解当前进程的PID,PPID 当前的进程状态  内存的分配情况  cup情况花费的时间  用户UID决定进程的权利

静态查看进程PS

ps 参数 l:长格式输出  U:按照用户名和启动时间顺序显示  j:任务格式显示  f:用树结构显示  a显示所有的进程包括其他用户的

x:显示无控制终端的进程 r:显示运行中的进程

root@kali:/home/wuwei/test# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user:运行进程的用户 pid:进程ID  %   cpu:cpu占用率  %mem:内存占用率  VSZ 占用虚拟内存 RSS 占用的实际内存 TTY 运行的终端  STAT 进程状态  START 进程的启动时间  TIME 进程占用CPU的总时间 COMMAND 进程文件

ps -ef 查看PPID PID

自定义显示字段

root@kali:/home/wuwei/test# ps axo user,pid,ppid
USER       PID  PPID
root         1     0

--sort %cpu 根据cpu顺序排序 --sort -%cpu 根据cpu逆序排序

查看进程树 pstree

动态查看进程     top

root@kali:/home/wuwei/test# top

top - 23:10:24 up 1 day,  1:08,  3 users,  load average: 0.00, 0.01, 0.00
Tasks: 196 total,   1 running, 152 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2039660 total,   231448 free,  1008028 used,   800184 buff/cache
KiB Swap:  2094076 total,  2094076 free,        0 used.   833184 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  

top -d 间隔时间 -p 指定进程pid -u 指定用户 -n 更新次数

使用信号量控制进程 kill killall pkill top

给进程发送信号 

1 SIGHUP  重新加载配置文件  2SIGINT   键盘终端ctr+c   3SIGQUIT   键盘退出   9SIGKILL  强制退出

15SIGTERM  终止(正常结束)默认  18SIGCONT 继续  19SIGSTOP 停止 20SIGTSTP 暂停ctr+z

kill 15 478   kill 1 478

killall vim 通过程序的名字直接杀死所有进程

pkill -u 用户 踢出一个当前链接的用户 pkill -t pts/1 结束终端1上的所有进程

进程优先级

Linux进程调度及多任务

         每个cpu在一个时间点上只能处理一个进程,通过时间片技术实际能够运行的进程可以超过可用的cpu及核心数量.Linux 内核进程调度程序将多个进程在cpu上快速切换

相对优先级nice

          由于不是每个进程与其他进程一样重要 可告知进程调度程序为不同的进程使用不同的调度策略 系统上运行的大多数进程所使用的调度策略为SCHED_OTHER (SCHED_NORMAL) 

SCHED_OTHER调度策略运行进程的相对优先级称为进程的nice值,可以有40中不同的nice值

nice值越高 :表示优先级越低例如+19

nice值越低:表示优先级越高例如-20

使用top查看nice级别  NI nice级别-20 -- 19     PR 将nice映射到更大的优先级队列 0--39

root@kali:/home/wuwei/test# ps axo pid,nice,priority

调整进程的nice值 renice -20 10090 修改nice值

作业控制 jobs

作业控制是一个命令行功能,允许一个shell实例来运行和管理多个命令

如果没有作业控制,父进程fock()一个子进程后,将sleeping直到子进程退出

使用作业控制,可以选择性暂停,恢复,以及异步运行命令,让shell可以再子进程运行期间执行其他指令

foreground 前台进程是在终端中运行的命令 接收键盘的输入

background 后台进程没有控制终端,不需要与终端交互

sleep 3000 & --后台运行

jobs 查看所有的后台

bg 2 调到后台

fg 1 调到前台

kill %1 终止进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值