当前位置:   article > 正文

Linux进程与任务管理_起进程的-u

起进程的-u

前言

一、查看进程

  • 内核功能:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等
    对于所有的操作系统,都有基本的功能
  • 程序
    • 保存在硬盘、光盘等介质中的可执行代码和数据
    • 静态保存的代码
  • 进程
    • 在CPU及内存中运行的程序代码
    • 动态执行的代码
    • 父、子进程(每个程序可以创建一个或多个进程)
  • 进程和线程的区别
    • 线程在进程下运行
    • 一个进程可以包含多个线程
    • 多个线程可共享数据

(1)查看进程信息-ps

①ps -aux——查看静态的进程统计信息

a:显示当前终端下的所有进程信息,包括其他用户的进程,与“x”选项结合使用时将显示系统中所有的进程信息
u:使用以用户为主的格式输出进程信息
x:显示当前用户在所有终端下的进程信息

在这里插入图片描述

名称解释
USER启动该进程的用户账号名称
PID进程的ID
%CPU进程占用的CPU百分比
%MEM占用内存的百分比
Vsz该进程使用的虚拟内存量(KB)
RSS该进程占用的物理内存量(KB)
TTY启动进程的终端名。不是从终端启动的进程则显示为“?”
STAT该进程的状态(D:不可中断的休眠状态:R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态: Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)
START该进程被触发启动时间
TIME该进程实际使用CPU运行的时间
COMMAND进程的启动命令

僵厂进程: 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源

  • -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
  • -R:该进程正在运行。
  • -S:该进程处于睡眠状态,可被唤醒。
  • -T:停止状态,可能是在后台暂停或进程处于除错状态。
  • -W:内存交互状态(从 2.6 内核开始无效)。
  • -X:死掉的进程(应该不会出现)。
  • -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
  • -<:高优先级(以下状态在 BSD 格式中出现)。
  • -N:低优先级。
  • -L:被锁入内存。
  • -s:包含子进程。
  • -l:多线程(小写 L)。
  • -+:位于后台。
  • -C:进程占用CPU的百分比

示例:
在这里插入图片描述

  • ctrl+c :发送 SIGINT 信号,终止一个进程
  • ctrl+z :发送 SIGSTOP 信号,挂起一个进程。将作业放置到后台(暂停)
  • ctrl+d :不是发送信号,而是表示一个特殊的二进制值,表示 EOF。代表输入完成或者注销

②ps -elf——查看静态的进程统计信息

  • e:显示系统内的所有进程信息
  • l:使用长格式显示进程信息
  • f:使用完整的格式显示进程信息

在这里插入图片描述

名词解释
F内核分配给进程的系统标记
S进程的状态
UID启动这些进程的用户
PID进程的进程ID
PPID父进程的进程号(如果该进程是由另一个进程启动的)
C进程生命周期中的CPU利用率
PRI进程的优先级(越大的数字代表越低的优先级)
NI谦让度值用来参与决定优先级
ADDR进程的内存地址
SZ假如进程被换出,所需交换空间的大致大小
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
STIME进程启动时的系统时间
TTY进程启动时的终端设备
TIME运行进程需要的累计CPU时间
CMD进程的启动命令
在CentOs7系统,tty1表示图形界面,tty2-tty6表示文字界面,可以用Ctrl+Alt+(F1-F6)切换

(2)top——查看动态进程信息

  • 使用ps命令查看到的是一个静态的进程信息,并不能连续地反馈当前进程的运行状态
  • 若希望以动态刷新的方式显示各进程的状态信息则使用top
  • 默认情况下每三秒刷新一次,按 s 修改刷新时间,按空格 :立即刷新

在这里插入图片描述

  • 第一行:任务队列信息
23:30:25系统时间
up 3 days系统已运行时间
1 user当前登录用户数
load average:0.00,0.01,0.05平均负载,即单位时间内系统处理的任务数,后面三个数值 分别为1分钟、5分钟、15分钟前到现在的平均值
  • 第二行:系统进程信息
Tasks总进程数
running正在运行的进程数
sleeping休眠的进程数
stopped中止的进程数
zombie僵死的进程数
  • 第三行:CPU占用信息
us用户占用
sy内核占用
ni优先级调度占用
id空闲CPU,要了解空闲的CPU百分比,主要看%id部分
waI/o等待占用
hi硬件中断占用
si软件中断占用
st虚拟化占用
  • 第四行:内存占用信息
total总空闲内存
free空闲内存
used己用内存
lbuff/cache物理内存和交换内存的缓冲区总和
  • 第五行:swap占用信息
total总交换内存
free空闲交换内存
used已用交换内存
avail Mem可用物理空间
  • top常用命令
命令作用
P键根据CPU使用百分比大小进行排序
M键根据驻留内存大小进行排序
N键根据启动时间进行排序
c键切换显示命令名称和完整命令行
h键可以获得top程序的在线帮助信息
q键退出top程序
数字1键显示CPU个数和状态

(3)pgrep——根据特定条件查询进程PID信息

-l显示进程名
-U指定特定用户
-t指定终端

在这里插入图片描述

(4)pstree——查看进程树

-A各进程树之间的连接以ASCII字符来连接
-u各进程树之间的连接以Unicode字符来连接,在某些终端界面下可能会有错误
-p同时列出每个进程的PID
-u同时列出每个进程的所属账号名称

pstree命令可以查看当前系统的进程树,包括个各进程对应的PID号、用户名、完整命令等信息
在这里插入图片描述

二、控制进程

(1)启动进程

在Linux系统中,可以由用户手工启动或者按预定计划调度启动新的进程

①手动启动

  • 前台启动:用户输入命令,直接执行程序,但得等到该进程结束并退出才能继续执行其他命令
  • 后台启动:在命令行尾加入“&”符号;无需等待,适用于等待时间较长的操作

在这里插入图片描述

②进程的前后台调度

  • 挂起当前进程
    当Linux操作系统中的命令正在前台执行时(运行尚未结束),按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。例如,打包usr并且调入后台 ,可以按 Ctrl+Z 组合键将该下载任务调入后台并暂停执行—tar zcvf usr.tar.gz /usr
  • 查看后台的进程
    jobs—查看当前终端中在后台运行的进程任务,结合“-l”选项可以同时显示该进程的PID号
  • 将后台的进程恢复运行
    bg; 将后台暂停执行的任务恢复运行并继续在后台执行fg:将后台暂停执行的任务恢复运行并恢复至前台运行除非后台中的任务只有一个,否则bg和fg命令都需要指定后台进程的任务编号作为参数例如:“fg 1(任务编号)”
    在这里插入图片描述

(2)终止进程运行

  • Ctrl + C组合键 :中断正在执行的命令
    在这里插入图片描述

  • kill 、killall命令

    • kill用于终止指定PID号的进程
    • killall用于终止指定名称相关的所有进程
    • -9选项用于强制终止

在这里插入图片描述

  • pkill命令:根据特定条件终止相应的进程
-U根据进程所属的用户名终止相应进程
-t根据进程所在的终端终止相应进程

在这里插入图片描述

三、计划任务管理

(1)at——一次性计划任务

at命令 一次性计划任务 服务脚本名称:/etc/init.d/atd
格式:
at [HH:MM] [yyyy-mm-dd] #不带年月日为今天执行
atq #查看未执行的一次性计划任务
atrm n #删除第n条任务
在这里插入图片描述

(2)crontab——周期性计划任务

  • 使用crontab命令设置的计划任务可以按预设的周期重复执行,可以大大减轻设置重复性系统管理任务的操作
  • 由软件包cronie提供crontab工具、系统服务crond和配置文件/etc/crontab
  • 前提条件:对应的系统服务crond必须已经运行

①配置文件和目录

  • 全局配置文件,位于文件: /etc/crontab
    设置的是维护Linux系统所需的任务,由Linux系统及相关程序在安装时自动设置,不建议用户修改
    在这里插入图片描述

  • 系统默认的设置,位于目录: /etc/cron.*/
    软件包crontabs安装后,会在此目录下升恒一些系统默认设置的计划任务目录,设置了系统每个小时、每一天做些什么工作

  • 用户定义的设置,位于文件: /var/spool/cron/用户名
    由用户使用crontab命令设置的cron计划会被保存在此目录中(会在此目录中生成一个与用户名相同的文件)

crond 守护进程会自动检查/etc/crontab 文件、/etc/cron.d/目录及 /var/spool/cron/目录中的改变,如果发现有配置更改,它们就会被载入内存,所以当某个 crontab 文件改变后并不需要重新启动 crond 守护进程就可以使设置生效

②管理crontab计划任务

-u 用户名指定XX用户的cron服务
-l列出当前用户下的cron的详细内容
-u zx -l列出zx用户下的cron的详细内容
-r删除所有用户的cron内容,普通用户执行,只删除自己的cron内容
-r -u zx删除zx用户的cron内容
-e编辑cron服务

③crontab任务配置格式

时间数值的特殊表示方法

特殊字符说明
*(星号)代表任何时刻都接受的意思
,(逗号)代表分隔时段的意思
-(减号)代表一段时间范围内
/n(斜杠)n代表数字,代表每隔n单位间隔的意思
代表意义分钟小时日期月份命令
数字范围0~590~231~311~120~7需要执行的命令

示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在生产环境中,进程管理与计划任务都是和我们息息相关的。它们可以减少我们大量的的重复的系统管理任务,ps、top和crontab尤其接触的频繁,所以熟练的掌握对我们的工作是很有帮助的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/273291?site
推荐阅读
相关标签
  

闽ICP备14008679号