Linux系统中进程和计划任务管理

本文详细介绍了Linux系统中的进程管理,包括查看进程信息的多种命令如ps、top、pgrep、pstree,以及进程的启动、调度、控制和终止。此外,还深入探讨了计划任务管理,讲解了at命令的一次性任务设置和crontab命令的周期性任务配置,以及相关操作。通过对这些内容的理解和掌握,用户能够更有效地管理和控制Linux系统的进程,以及安排自动执行的任务。
摘要由CSDN通过智能技术生成

目录

前言

一.查看进程

  1.1程序和进程的关系

  1.2查看进程信息ps

      1.2.1将以简单列表的形式显示出进程信息

      1.2.2将以长格式显示系统中的进程信息

  1.3查看进程信息top

  1.4查看进程信息pgrep

  1.5查看进程信息pstree

二.控制进程

  2.1进程的启动方式

    2.1.1手工启动进程

    2.1.2后台启动

  2.2调度启动

  2.3进程的前后台调度

    2.3.1Ctrl+Z组合键

    2.3.2 jobs命令

    2.3.3 fg命令

  2.4终止进程 

    2.4.1Ctrl+C组合键

    2.4.2kill、killall命令

    2.4.3 pkill命令

三.计划任务管理at

四.crontab 周期性任务设置 

  4.1crontab命令

  4.2crontab 命令管理用户的计划任务 

总结 


前言

    在我的上一篇博客中,详细介绍了Linux系统的引导过程,以及如何控制系统服务优化系统服务。若要详细了解系统中运行的各种程序信息、关闭失去响应的进程,及在指定的时间自动执行任务,应该如何操作呢?本文将进一步介绍进程管理和计任务管理的相关知识和技术。

一.查看进程

  1.1程序和进程的关系

      程序:
        ●保存在硬盘、光盘等介质中的可执行代码和数据

        ●静态保存的代码

      进程:
        ●在CPU及内存中运行的程序代码

        ●动态执行的代码

        ●父、子进程:每个程序可以创建一个或多个进程

  1.2查看进程信息ps

      1.2.1将以简单列表的形式显示出进程信息

ps命令:●查看静态的进程统计信息

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

常用的选项组合:ps -aux        #将以简单列表的形式显示出进程信息

[root@localhost ~]# ps aux

 

上述输出信息中,第一行为列表标题,其中各字段的含义描述如下:
USER:启动该进程的用户账号的名称。
PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的。
%CPU:CPU 占用的百分比。
%MEM:内存占用的百分比。
VSZ:该进程使用的虚拟内存量(KB)。
RSS:该进程占用的物理内存量(KB)。
TTY:表明该进程在哪个终端上运行。不是从终端启动的进程则显示

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

D:系统守护进程
T:调式、程序执行一般停止
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态D 不可中断状态.
它们含意如下::
进程状态。常见的状态有以下几种:
-D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
-R:该进程正在运行。
-S:该进程处于睡眠状态,可被唤醒。
-T:停止状态,可能是在后台暂停或进程处于除错状态。
-W:内存交互状态(从 2.6 内核开始无效)。
-X:死掉的进程(应该不会出现)。
-Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
-<:高优先级(以下状态在 BSD 格式中出现)。
-N:低优先级。
-L:被锁入内存。
-s:包含子进程。
-l:多线程(小写 L)。
-+:位于后台。
-C:进程占用CPU的百分比

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

例:

查看进程状态[root@benet ~]# vim a.txt 在另一个终端执行:
[root@benet ~]# ps -aux | grep a.txt	#查看状态 S 表示睡眠状态, + 表示前台
root	4435 0.0   0.2 151752	5292 pts/1	S+	20:52	0:00 vim a.txt
root	4661 0.0   0.0 112676	996 pts/0	S+	21:05	0:00 grep --color=auto a.txt
在 vim a.txt 这个终端上 按下: ctrl+z [1]+   已停止	vim a.txt 在另一个终端执行:
[root@benet ~]# ps -aux | grep a.txt     #查看状态 T 表示停止状态
root	4435 0.0   0.2 151752	5292 pts/1	T	20:52	0:00 vim a.txt
root	4675 0.0   0.0 112676	996 pts/0	S+	21:05	0:00 grep --color=auto a.txt
注:
ctrl-c 是发送 SIGINT 信号,终止一个进程
ctrl-z 是发送 SIGSTOP 信号,挂起一个进程。将作业放置到后台(暂停)
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。代表输入完成或者注销
D 不可中断状态
[root@xuegod63 ~]# tar -zcvf usr-tar.gz /usr/
#然后在另一个终端不断查看状态,由 S+,R+变为 D+

       1.2.2将以长格式显示系统中的进程信息

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

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

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

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

  1.3查看进程信息top

top命令:●查看动态的进程排名信息

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

[root@localhost ~]# top

  

 上述输出信息中,开头的部分显示了系统任务(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值