Linux---程序和进程

程序和进程

进程和计划任务:
重要的部分:
资源相关-》内存、磁盘、I/0、CPU、网络、进程、服务相关的资源信息

1、怎么查询进程信息
top 查看动态 top 的快捷指令:查看内存是什么,找某一个服务是什么,我要看每个cpu资源是什么

ps 查看静态 -elf -aux

进程状态—》关注D S T

2、pgrep、pstree lsof

3、进程任务管理

kill [-9] [pid]

killall [-9] 可以针对于用户

4、任务处理

jobs 查看后台任务列表

jobs -l 查看后台任务列表(包含任务名称、执行指令、进程状态)

ctr1 +z 可以将一个前台的任务放置后台

使用fg 可以将后台任务移至前台

at 一次性计划任务

Crontab -felru]

分时日月周–》最重要的是时间区间规则

程序

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

进程

  • 在CPU及内存中运行的程序代码
  • 动态执行的代码
  • 父、子进程

​ 每个程序可以创建一个或多个进程

master(父)进程

职能

  1. 保证服务活着
  2. 创建、管理子进程

子进程(s)

每个子进程负责程序的一个功能

僵尸进程

父进程终止,子进程没被回收,占用资源

孤儿进程

父进程终止,子进程被init接管

常用命令

—ps 查看进程信息

用法一
ps -aux     查看静态的进程统计信息

a:显示终端bai上的所有进程,包括其它用户的进程。
u:表示列出进程的用户
x:显示所有终端的进程

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


用法二
ps -elf

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

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

ps -aux -elf 大概可以哪些内容 举例3-5个
top load average xxx每一段代表什么

—top 查看进程动态信息

第一行是任务队列信息
01:06:48	系统时间
up 1:22		系统已运行时长
1 user		当前登录用户数
load average: 0.06,0.60,0.48系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

第二行为进程信息
Tasks		总进程数
running		正在运行的进程数
sleeping	休眠的进程数
stopped		中止的进程数
zombie		僵死的进程数

第三行为CPU的信息
us		用户占用
sy		内核占用
ni		优先级调度占用
id		空闲CPU,要了解空闲的 CPU 百分比,主要看%id部分
wa		I/0 等待占用
hi		硬件中断占用
si		软件中断占用
st		虚拟化占用

第四行为内存的信息
total		总内存空间
free		空闲内存
used		已用内存
buff/cache		物理内存和交换内存的缓冲区总和

top常用指令
c键:根据CPU使用百分比大小进行排序
q键:退出 top 程序
数字1键:显示CPU个数和状态

—pgrep 查看进程信息

pgrep

-a:显示进程名和 PID
-c:仅显示匹配进程的数量,而不显示进程名和 PID
-f:匹配进程名及其参数

pgrep -l "log"   
-l:显示进程名缺省时只输出 PID 号
pgrep -l -U teacher -t tty2
-U:指定特定用户
-t:指定终端

—jobs 列出这些后台进程的状态信息

jobs

-l:显示所有后台进程的 PID
-p:显示所有后台进程的进程组 ID
-n:仅显示最近的后台进程
-r:仅显示正在运行的后台进程
-s:仅显示已停止的后台进程

—kill 杀死一个进程

kill 

-9:强制杀死该进程,这个信号不能被捕获也不能被忽略,进程被终止,需要立即退出
-15:进程需要被关闭,请自行停止运行并退出

—pstree 查看进程树

pstree -aup

-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号

进程的前后台调度

vim 111
Ctrl+z #放到后台,并停止运行
vim 222
Ctrl+z
jobs -l
pgrep -l "vim'
kill -9 vim

cp -r/mnt /opt/ &	 #在后台运行

#把后台运行的程序调到前台[root@localhost ~]# jobs -l
[1]+ 4488 运行中
cp -i -a /mnt/ /opt/ &
[root@localhost ~]# fg 1
cp -i -a /mnt/ /opt/

Ctrl+Z组合键

  • 将当前进程挂起,即调入后台并停止执行

jobs命令

  • jobs [-l]
  • 查看处于后台的任务列表

fg命令

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

进程的启动方式

手工启动

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

调度启动

  • 使用at命令,设置一次性计划任务
at [HH:MM][yyyy-mm-dd]
  • 使用crontab命令,设置周期性计划任务

  • 按照预先设置的时间周期(分钟、小时、天、月、周)重复执行用户指定的命令操作

  • 属于周期性计划任务

  • 主要设置文件

  1. 全局配置文件,位于文件:/etc/crontab
  2. 系统默认的设置,位于目录:/etc/cron.*/
  3. 用户定义的设置,位于文件:/var/spool/cron/用户名
编辑计划任务
crontab -e [-u 用户名]
-u缺省时默认是针对当前用户

查看计划任务
crontab -l [-u 用户名]

删除计划任务
crontab -r [-u 用户名]

crontab -l-u 展示当前设定的定时任务

crontab -r -u 删除所有定时任务 ---使用的时候慎重
字段说明
分钟取值为从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 * * 每3天
每2个月的第二周的星期三18:30
假设条件:每个月的第一天都是星期一
分     时     日     月    周
30     18     8-14  */2   3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值