ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

进程和计划任务的管理

2021-12-30 20:06:18  阅读:108  来源: 互联网

标签:占用 用户 任务 计划 内存 进程 root CPU


目录

查看进程

控制进程

at一次性任务设置

crontab周期性任务设置

 程序 二进制对的文件、属于静态

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

程序 进程 线程关系
线程包含在进程之中,是进程中实际运作单位,也是操作系统中能够独立运行的基本单位,
也称作轻量进程,一个进程中可以并发多个线程,每条线程可以并行执行不同任务,而我们在任务
管理器中看到的一个个进程则由我们下载的应用程序所产生的,当然一个应用程序可以包含多个进程。

 

 

查看进程

 

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

常用的选项组合
ps -aux #将以简单列表的形式显示出进程信
上述输出信息中,第一行为列表标题,其中各字段的含义描述如下。
USER:启动该进程的用户账号的名称。
PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的。
%CPU:CPU 占用的百分比。
%MEM:内存占用的百分比。
VSZ:该进程使用的虚拟内存量(KB)。
RSS:该进程占用的物理内存量(KB)。
TTY:表明该进程在哪个终端上运行。不是从终端启动的进程则显示为?。
简说:pts 是远程登录终端 ctrl+ALT F1-F6 tty1 图像界面 2和6 字符界面 ? 系统本身自身执行的进程

STAT:该进程的状态(D:不可中断的休眠状态:R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态: Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)

D:系统守护进程
T:调式、程序执行一般停止
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态D 不可中断状态.
它们含意如下::
<: 表示进程运行在高优先级上
N: 表示进程运行在低优先级上
L: 表示进程有页面锁定在内存中
s: 表示进程是控制进程
l: 表示进程是多线程的
+: 表示当前进程运行在前台
D:系统守护进程
T 调式、程序执行一般停止

START:启动该进程的时间。
TIME:该进程占用的 CPU 时间。
COMMAND:启动该进程的命令的名称

 

 ctrl+z [1]+   已停止 vim a.txt

 

例2 D 不可中断状态
[root@xuegod63 ~]# tar -zcvf usr-tar.gz /usr/
#然后在另一个终端不断查看状态,由 S+,R+变为 D+

 

 

ps -elf #将以长格式显示系统中的进程信息

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


各列的解释:
F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID: 进程的进程ID.
PPID:父进程的进程号(如果该进程是由另一“个进程启动的)
C:进程生命周期中的CPU利用率。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI: 谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。 pts/0255代表虚拟终端,一般是远程连接的终端;tty1tty7 代表本地控制台终端
TIME:运行进程需要的累计CPU时间。
CMD:进程的启动命令。

 

僵尸进程:
一个进程结束了,但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

 

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

 

 

上述输出信息中,开头的部分显示了系统任务(Tasks)、CPU占用、内存占用(Mem)、交换空间(Swap)等汇总信息,汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下。
uptime
13:22:30    当前时间
up 20days 系统运行时间 ,说明此服务器连续运行 20 天了
2 user 当前登录用户数
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。 三个数值分别为 1 分钟、5 分钟、15 分钟前到现在的平均值。


系统任务(Tasks)信息

total,总进程数;

running,正在运行的进程数;

sleeping, 休眠的进程数;

stopped,中止的进程数;

zombie,僵死无响应的进程数。
CPU 占用信息:us,用户占用;

sy,内核占用;

ni,优先级调度占用;

id,空闲CPU;

wa,I/O 等待占用;

hi,硬件中断占用;

si,软件中断占用;

st,虚拟化占用。要了解空闲的 CPU 百分比,主要看%id 部分。
内存占用(Mem)信息:total,总内存空间;free,空闲内存;used,已用内存;buff/cache,物理内存和交换内存的缓冲区总和。

交换空间(Swap)占用:total,总交换空间;free,空闲交换空间;used,已用交换空间;avail Mem,可用物理空间。

详细说明

Tasks: 481 total 进程总数
1 running 正在运行的进程数
480 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 0.0% us 系统用户进程使用 CPU 百分比。
0.0% sy 内核中的进程占用 CPU 百分比 优先级调度占用
0.0% ni 用户进程空间内改变过优先级的进程占用 CPU 百分比
98.7% id 空闲 CPU 百分比


0.0% wa
cpu 等待 I/0 完成的时间总量。
测试:
终端 1:执行:top
终端 2:dd if=/dev/zero of=/a.txt count=10 bs=100M
终端 3:dd if=/dev/zero of=/a.txt count=10 bs=100M

 

0.0% hi(了解) 硬中断消耗时间 硬件中断占用
硬中断,占的 CPU 百分比。1. 硬中断是由硬件产生的,比如,像磁盘, 网卡,键盘,时钟等。每个设备或设备集都有它自己的 IRQ(中断请求)。基于 IRQ,CPU 可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核中的一个子程序,而不是一个独立的进程)。# hi ->
Hardware IRQ: The amount of time the CPU has been servicing hardware interrupts.

 

0.0% si(了解) 软中断消耗时间 软件中断占用
软中断,占的 CPU 百分比。1. 通常,软中断是一些对 I/O 的请求。这些请求会调用内核中可以调度 I/O 发生的程序。对于某些设备,I/O 请求需要被立即处理,而磁盘 I/O 请求通常可以排队并且可以稍后处理。根据 I/O 模型的不同,进程或许会被挂起直到 I/O 完成,此时内核调度器就会选择另一个进程去运行。I/O 可以在进程之间产生并且调度过程通常和磁盘 I/O 的方式是相同。# si -> Software Interrupts.: The amount of time the CPU has been servicingsoftware interrupts.

0.0 st (steal 偷) 虚拟化占用。要了解空闲的 CPU 百分比,主要看%id 部分。
st:虚拟机偷取物理的时间。比如:物理机已经运行了 KVM,XEN 虚拟机。KVM 虚拟机占用物理机的 cpu 时间


Mem: 2033552k total 物理内存总量
340392k used 使用的物理内存总量
1376636k free 空闲内存总量
316524k buff/cache 用作内核缓存的内存量。和 free -k 一个意思
Swap: 2017948k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
1518148 avail Mem 总的可利用内存是多少

 

7 行进程信息

PID 进程 id
USER 进程所有者的用户名
PR 优先级(由内核动态调整),用户不能
NI 进程优先级。 nice 值。负值表示高优先级,正值表示低优先级,用户可以自己调整

VIRT(virtual memory usage) 虚拟内存,是进程正在使用的所有内存(ps 中标为 VSZ) VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请 100m 的内存,但实际只使用了 10m,那么它会增长
100m,而不是实际的使用量


RES(resident memory usage) 是进程所使用的物理内存。实际实用内存(ps 中标为 RSS) RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括 swap out
2、包含其他进程的共享
3、如果申请 100m 的内存,实际使用 10m,它只增长 10m,与 VIRT 相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小


SHR 共享内存大小,单位 kb SHR:shared memory 共享内存
1、除 M 了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR 4、swap out 后,它将会降下来


S 进程状态。
D=不可中断的睡眠状态
R=运行中或可运行S=睡眠中
T=已跟踪/已停止Z=僵停

%CPU 上次更新到现在的 CPU 时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
COMMAND 命令名/命令行

 

top 命令全屏操作界面快捷键:
默认 3s 刷新一次,按 s 修改刷新时间按空格 :立即刷新。
P:按 CPU 排序
M:按内存排序
T:按时间排序
p: 进程 IP,查看某个进程状态    退出top -p +PID号
N 键根据启动时间进行排序
数字键 1:显示每个内核的 CPU 使用率u/U:指定显示的用户
h:可以获得 top 程序的在线帮助信息
q:键可以正常地退出 top 程序

注:若通过 top 排名工具发现某个进程 CPU 占用率非常高,需要终止该进程的运行,可以在 top 操作界面中按 k 键,然后在列表上方将会出现“PID to signal/kill [default pid = 3180]:” 的提示信息,根据提示输入指定进程的 PID 号并按 Enter 键, 出现“Send pid 5597 signal [15/sigterm]”的二次确认的提示信息,然后按Enter 键确认即可终止对应的进程。

 

 

 

 

pgrep -l "log"

 

 

pgrep -l -U root -t tty1

 

 

 

 

 pstree -aup apache

 

 

 

 

 &后台运行

 jobs -l  查看后台运行

 

 fg 2后台调到前台

 

 

 kill -9 +PID号 #强行杀死

killall -9 vim #杀死所有

 

 

 指定用户的进程  杀死

pkill -9 -U "cheng5"

 

 

 

[root@dc4 ~]# pkill -9 -U "cheng5"
[root@dc4 ~]# date
2021年 12月 30日 星期四 19:12:53 CST
[root@dc4 ~]# at 19:15 2021-12-30
at> pgrep -U root|wc -l>/tmp/ps.root
at> <EOT>
job 1 at Thu Dec 30 19:15:00 2021
[root@dc4 ~]# cat /tmp/ps.root
cat: /tmp/ps.root: 没有那个文件或目录
[root@dc4 ~]# cat /tmp/ps.root
214
[root@dc4 ~]# cat /tmp/ps.root
214

 

 

 

 

 

使用 crontab 命令管理用户的计划任务
设置用户的周期性计划任务列表主要通过 crontab 命令进行,结合不同的选项可以完成不同的计划任务管理操作。常用的选项如下。
-e:编辑计划任务列表。
-u:指定所管理的计划任务属于哪个用户,默认是针对当前用户(自己),一般只有 root 用户有权限使用此选项(用于编辑、删除其他用户的计划任务)。
-l:列表显示计划任务。
-r:删除计划任务列表。
下面将分别讲解 crontab 命令相关选项的使用。

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

 

 

总结

查看进程的命令(ps、top、pgrep、pstree)

进程控制

启动进程、调度进程、终止进程

at命令设置计划任务

crontab计划任务的配置字段

 

 

 

标签:占用,用户,任务,计划,内存,进程,root,CPU
来源: https://www.cnblogs.com/wwwdcsxudcom/p/15748546.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有