资讯详情

Linux:进程和计划任务管理

一、了解程序与过程的关系

1、程序

2、进程

3、线程

线程的状态

4、程序 进程理论

二、ps命令(静态查看)和 top命令(动态查看)

1、ps命令(静态查看)

2、top命令(动态查看)

3、 pgrep命令

4、pstree命令

5、jobs命令

6、手工启动(&、bg、fg)

&

恢复后台过程的运行

7、kill、killall、pkill命令

三、计划任务管理

1、at

2、crontab


一、了解程序与过程的关系

二进制文件,静态,/bin/date,/usr/sbin/sshd

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

程序运行过程、动态、生命周期和运行状态

  • 在CPU程序代码在内存中运行
  • 动态执行代码
  • 父子过程(一个程序可以创建一个或多个过程)

协程:利用线程等待的时间做其他事情(协程切换任务源小,效率高) 回调

线程的状态

线程的三种状态:就绪、运行和阻塞

创建了线程对象。创建线程对象后,其他线程(如main线程)调用对象start()方法。该状态的线程位于可操作线程池中,等待线程调度选择并获得cpu的使用权。可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。阻塞状态是指线程因某种原因放弃cpu使用权,即让出cpu timeslice,暂时停止运行。直到线程进入可运行(runnable)只有这样,我们才有机会再次获得状态cpu timeslice转到运行(running)状态。有三种阻塞:

  1. 等待阻塞:运行(running)的线程执行o.wait()方法,JVM将该线程放入等待队列(waitting queue)中。
  2. 同步阻塞:运行(running)当获取对象的同步时,如果同步锁被其他线程占用,则JVM将该线程放入锁池(lockpool)中。
  3. 其它障碍物:运行(running)的线程执行Thread.sleep (longms)或t.join()方法,或发布I/O请求时,JVM线程将被阻塞。sleep ()状态超时,join()等待线程终止或超时I/o处理完毕后,线程重新转移到可操作(runnable)状态。

线程run()、main()方法执行结束,或因异常退出run()方法,线程结束生命周期。死亡线程不能重生

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

线程背包含在过程中,是过程中的实际操作单位,也是操作系统中可以独立运行的基本单位,也称为轻过程,一个过程可以并发多个线程,每个线程可以并行执行不同的任务,我们在任务管理器中看到的过程是由我们下载的应用程序产生的。当然,一个应用程序也可以包含多个过程。例如,下面的百度网络磁盘运行四个就绪状态的后台过程,这是他们的一般管理关系。

二、ps命令(静态查看)和 to命令(动态查看)

1、ps命令(静态查看)

-a:显示当前终端下的所有进程信息,包括其他用户的进程。与"x"选项结合时将显示系统中所有的进程信息
-u:使用以用户为主的格式输出进程信息
-x:显示当前用户在所有终端下的进程信息
-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息
-aux:以简单列表的形式显示出进程信息
-elf:以长格式显示系统中的进程信息

USER:启动该进程的用户的用户账号的名称
PID:该进程系统中的数字ID号,在当前系统是唯一的
%CPU:cpu占用的百分比
%MEM:内存占用的百分比
VSZ:该进程使用的虚拟内存量
RSS:该进程占用的物理内存存量
TTY:表明该进程在哪个终端上运行,不是从终端启动的就显示”?“
STAT:该进程的状态
START:启动该进程的时间
TIME:该进程占用的cpu时间
COMMAND:启动该进程的命令的名称
STAT进程状态:
-D:不可被唤醒的睡眠状态,通常用于I/O情况
-R:该进程正在运行
-S:该进程处于睡眠状态,可被唤醒
-T:停止状态,可能是在后台暂停或进程处于出错状态
-W:内存交互状态
-X:死掉的进程(应该不会再出现)
-Z:僵尸进程,进程已经中止,但是部分程序还在内存当中
-<:高优先级
-N:低优先级
-L:被缩入内存
-s:包含子进程
-l:多线程
-+:位于后台
-C:进程占用cpu的百分比

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

2、top命令(动态查看)

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

top – 10:12:26:当前系统时间
Up 1:10:系统已经运行时间
1 users:当前登录用户
Load average 0.00, 0.01, 0.05:系统平均负载,后面三个数字代表每1分钟,5分钟,15分钟的平均负载

Tasks: 172 total:进程总数
1 running:正在运行的进程数
171 sleeping:睡眠的进程数
0 stopped:睡眠的进程数
0 zombie:僵尸进程数

0.0 us:用户空间占用CPU百分比 查看CPU使用率
0.0 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
100.0 id:空闲CPU百分比
0.0 wa:等待输入输出的CPU时间百分比
0.0 hi:硬中断消耗时间 硬中断占用
0.0 si:软中断消耗时间 软中断占用
0.0 st:虚拟化占用

3861508 total:物理内存总量
3095144 free:空闲内存总量
367196 used:已使用的物理内存总量
339168 buff/cache:用作内核缓存的内存量

3、 pgrep命令

-l:选项可同时输出对应的进程名及PID
-U:选项查询特定用户的进程
-t:选项查询在特定终端运行的进程

 

4、pstree命令

以树形结构列出进程信息

-a:显示完整信息 
-u:列出对应用户名
-p:列出对应PID号
 pstree -aup  用户名    #以树形结构完整列出对应用户名及进程号

5、jobs命令

查看处于后台的任务列表

-l:可以同时显示该进程对应的PID号

6、手工启动(&、bg、fg)

    前台启动:用户输入命令,直接执行程序     后台启动:在命令行尾加入"&"符号

&

这个“&”表示挂起当前进程并不会输出结果,在命令行尾加入"&"符号

将后台的进程恢复运行

使用bg(BackGround,后台)命令,可以将后台中暂停执行(如按Ctrl+Z组合键挂起)的任务恢复运行,继续在后台执行操作 使用fg(ForeGround,前台)命令,可以将后台任务重新恢复到前台运行。 除非后台中的任务只有一个,否则bg和fg命令都需要指定后台进程的任务编号作为参数。例如,执行如下的“fg 1”命令可以将之前挂起至后台的wget进程重新调入前台执行 [root@jn ~]# jobs命令 [1]-    Stopped     cp /dev/cdrom mycd.iso [2]+    Stopped     top [root@jn ~]#fg 1

7、kill、killall、pkill命令

kill [进程pid] #终止指定PID的进程
最常用:
-1[数字]:重新加载进程
-2:正常中断进程(Ctrl C一样)
-3:杀死并退出进程
-9:杀死一个进程

killall可以通过进程名称来终止进程,当需要结束系统中多个相同名称的进程时使用killall命令将更加方便

pkill可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与pgrep命令基本类似
例如:
-U:指定用户
-t:指定终端

三、计划任务管理

1、at

       在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划的系统管理任务(如定期备份、定期采集监测数据)。CentoS系统中默认已安装了at、cronie 软件包,通过 atd 和 crond这个两个系统服务这两个系统服务实现一次性、周期性计划任务的功能,并分别通过 at、crontab 命令进行计划任务设置

at [HH:MM] [YYYY-mm-dd]
任务设置完毕后按Ctrl D 组合键提交
atq:查看未执行操作
atrm 1:删除第一条任务

2、crontab

  • 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令。
  • 时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
  • 这个命令非常设合的日志分析或数据备份等工作。
cat /etc/crontab 查看全局配置文件
主要配置文件:
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名

crontab -e [-u 用户名]   ##编辑计划任务
crontab -l [-u 用户名]   ##查看计划任务
crontab -r [-u 用户名]   ##删除计划任务

标签: 74aup2g126gf二极管74aup2g125gd二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台