进程和计划任务

本文详细介绍了Linux系统中进程和计划任务的管理,包括程序与进程的区别、进程线程的关系、使用ps、top、pgrep、pstree命令查看进程信息,以及如何通过at和crontab设置一次性及周期性任务。同时,还讲解了进程的启动、调度、终止以及控制方法,如使用ctrl+C、kill、killall和pkill命令。
摘要由CSDN通过智能技术生成

查看进程

程序和进程的关系

程序

  • 保存在硬盘、光盘等介质中可执行代码和数据
  • 静态保存的代码

进程

  • 在CPU及内存中运行的程序代码
  • 动态执行的代码
  • 父、子进程
    • 每个程序可以创建一个或多个进程
  1. 程序二进制的文件、静态。
  2. 进程是程序运行的过程属于动态,有生命周期及运行状态

程序 进程 线程的关系

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

协程利用线程等待是时间去做别的事 切换任务源 提高任务效率

查看进程信息ps

查看静态的进程统计信息

[root@localhost~]#ps -aux
[root@localhost~]#ps -elf  #将以长格式显示系统中的进程信息

方法一 aux

  • 常用参数
-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:启动该进程的命令的名称

方法二 elf

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

各列的解释:
F:内核分配给进程的系统标记
S:进程的状态
UID:启动这些进程的用户
PID:进程的进程ID
PPID:父进程的进程号(如果该进程是由另一个进程启动的)
C:进程

查看动态的进程信息top

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

查看进程信息pgrep

根据特定条件查看进程信息

[root@localhost~]# pgrep
[root@localhost~]#pgrep -l "log"
2538 rsyslogd
2113 mcelog
[root@localhost~]# pgrep -l -U teacher -t tty1
27483 bash
27584 vim

查看进程信息pstree

pstree命令

  • 以树形结构列出进程信息
[root@localhost~]# pstree -aup
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号

控制进程

进程的启动方式

手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入“&”符号
[root@local~]# cp /dev/cdrom mycd.iso $
[1] 28454

调度启动

  • 使用at命令,设置一次性计划任务
  • 使用crontab命令,设置周期性计划任务

进程的前后台调度

ctrl+z组合键

  • 将档期那进程挂起,即调入后台并执行

jobs命令

  • 查看处于后台的任务列表

fg命令

将后台进程恢复到前台运行,可指定任务序号

[root@localhost~]# jobs
[1]- Stopped     cd /dev/cdrom mycd.iso
[2]+ Stopped     top
[root@localhost~]# fg 1

终止进程的运行

ctrl+C组合键

  • 中断正在执行的命令

kill、killall命令

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

pkill命令

根据特定条件终止相应的进程

常用命令选项

-U:根据进程所属的用户名终止相应进程

-t:根据进程所在的终端相应进程

[root@localhost~]# pgrep -l -U "hackli"
3045 bash
[root@localhost~]# pkil -9 -U "hackli"
[root@localhost~]# pgrep -l -U "hackli"

at一次性任务设置

at命令

  • 一次性计划任务
at [HH:MM] [yyyy-mm-dd]
[root@localhost ~]# date
Sun May 7 10:33:13 EDT 2017
[root@localhost ~]# at 10:35 2017-05-07
at> pgrep -U root|wc -l > /tmp/ps.root
at> <EOT>按Ctrl+D键提交任务
job 1 at Sun May 7 10:35:00 2017
[root@localhost ~]# cat /tmp/ps.root
202

案例

在当天的21:30时自动关闭当前系统

[root@localhost ~]# at 21:30
at> shutdown -h now
at> <EOT>
job 2 at Sun May 7 21:30:00 2017
[root@localhost ~]# atq  查看未执行的任务列表
2 Sun May 7 21:30:00 2017 a root
[root@localhost ~]# atrm 2  删除第2条任务
[root@localhost ~]# atq

crontab周期性任务设置

crontab任务配置的格式

分钟 小时 日期 月份 星期    命令
字段说明
分钟取值为从0到59之间的任意整数
小时取值为从0到23之间的任意整数
日期取值为从1到31之间的任意整数
月份取值为从1到12之间的任意整数
星期取值为从0到7之间的任意整数,0或7表示星期日
命令要执行的命令或程序脚本

时间数值的特殊表示方法

  • *表示该范围的任意时间
  • ,表示间隔的多个不连续的时间点
  • -表示一个连续的时间范围
  • /指定间隔的时间频率

应用实例

0 17 * * 1-5         #周一到周五每天17:00
30 8 * * 1,3,5       #每周一、三、五的8点30分
0 8-18/2 * * *       #8点到18点之间每2小时
0 * */3 * *          #每三天

总结

  • 查看进程的命令(ps、top.pgrep.pstree)
  • 进程控制
  • 启动进程、调度进程、终止进程
    • at命令设置计划任务
  • crontab计划任务的配置字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值