Linux 私房菜————Linux系统基本操作命令(十一)|进程管理|计划任务管理|

news/2024/7/5 14:17:02

进程管理和计划任务管理

  • 一、程序和进程的关系
    • 1.程序
    • 2.进程
  • 二、查看进程信息ps
    • 1.查看进程命令行
    • 2.命令符选项功能
    • 3.进程信息解释
  • 三、查看静态的进程统计信息
    • 1.查看静态进程命令行
    • 2.命令符选项功能
    • 3.进程统计信息解释
  • 四、动态查看进程排名信息top
    • 1.动态查看进程命令行
    • 2.命令符选项功能
    • 3.进程排名信息解释
  • 五、查看进程信息pgrep
    • 1.根据特定条件查询进程PID信息
    • 2.命令符选项功能
  • 六、查看进程树pstree
    • 1.查看进程树命令行
    • 2.命令符选项功能
  • 七、进程的启动方式
    • 1.手工启动
    • 2.调度启动
    • 3.进程的前后台调度
    • 4.jobs命令
    • 5.fg命令
    • 6.终止进程的运行
    • 7.中断正在执行的命令
      • 1.kill、killall命令
  • 八、计划任务管理
    • 1.计划任务管理at
    • 2.计划任务管理crontab
    • 3.管理crontab计划任务
      • 3.1 crontab任务配置的格式
      • 3.2 crontab -e [-u root] 编辑一个计划任务
    • 3.3 其他例子

一、程序和进程的关系

1.程序

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

2.进程

  • 在CPU以及内存中运行的程序代码
  • 动态执行的代码
  • 分父进程和子进程
    • 每个程序可以创建一个或多个进程
    • 一个主进程可能会分出多个子进程

二、查看进程信息ps

1.查看进程命令行

查看静态的进程统计信息

ps aux or -aux

在这里插入图片描述

ps -aux | wc -l
#或者
ps aux | wc -l

在这里插入图片描述

2.命令符选项功能

ps 命令符
a显示终端上的所有进程,包括其他用户进程
u表示列出进程的用户
x显示所有终端进程

Linux是个多用户可登录和多进程的系统


3.进程信息解释

在这里插入图片描述

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

僵尸进程

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

三、查看静态的进程统计信息

1.查看静态进程命令行

ps -elf #必须加-否则显示不全

2.命令符选项功能

命令选项功能
-e显示系统内的所有进程信息
-l使用长格式显示进程信息
-f使用完整的格式显示进程信息

3.进程统计信息解释

在这里插入图片描述

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

四、动态查看进程排名信息top

1.动态查看进程命令行

输入 top

2.命令符选项功能

top常用命令选项功能
P 键根据CPU使用百分比大小进行排序
M 键根据驻留内存大小进行排序
N 键根据启动时间进行排序
c 键切换显示命令名称和完整命令行
h 键可以获得 top程序的在线帮助信息
k 键根据提示输入指定进程的 PID 号并按 Enter 键终止对应的进程
q 键退出 top 程序
数字1 键显示CPU个数和状态

3.进程排名信息解释

在这里插入图片描述

第一行是任务队列信息解释
22:26:51系统时间
up 49 min系统已运行时长
2 user当前登录用户数
load average: 0.00, 0.01, 0.05系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

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

第三行为CPU的信息解释
us用户占用
sy内核占用
ni优先级调度占用
id空闲CPU,要了解空闲的 CPU 百分比,主要看%id 部分
waI/O 等待占用
hi硬件中断占用
si软件中断占用
st虚拟化占用
第四行为内存的信息解释
total总内存空间
free空闲内存
used已用内存
buff/cache物理内存和交换内存的缓冲区总和
第五行为交换空间的信息解释
total总交换空间
free空闲交换空间
used已用交换空间
avail Mem可用物理空间
进程信息区解释
PID进程id
USER进程所有者的用户名
PR优先级
NI谦让度值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb
RES进程使用的物理内存大小,单位kb
SHR共享内存大小,单位kb
S进程状态
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND命令名/命令行

五、查看进程信息pgrep

1.根据特定条件查询进程PID信息

pgrep -l 进程关键字 #指定查看进程名

2.命令符选项功能

命令选项功能
-l显示进程名
-U指定特定用户
-t指定终端

六、查看进程树pstree

1.查看进程树命令行

pstree -aup [用户名]

2.命令符选项功能

命令选项功能
-a显示完整信息
-u列出对应用户名
-p列出对应PID号

七、进程的启动方式

1.手工启动

前台启动用户输入命令,字节执行程序
后台启动在命令行尾加入"&"符号[提高工作效率]

举例:在安装软件或者是解压的过程中
此时只能等待无法进行其他操作
在这里插入图片描述

切换至后台后可随时执行其他指令
在这里插入图片描述

2.调度启动

使用 at 命令,设置一次性计划任务

使用 crontab 命令,设置周期性计划任务

3.进程的前后台调度

Ctrl+z组合键
将当前程序挂起,即调入后台并停止执行
举例:vim 11.txt 然后执行Ctrl+z
在这里插入图片描述

4.jobs命令

查看处于后台的任务列表
举例:jobs -l 查看刚才关掉的
在这里插入图片描述

5.fg命令

将后台进程恢复到前台运行,可指定任务序号
举例:fg 1 恢复jobs中看到已经关掉的任务
在这里插入图片描述

6.终止进程的运行

ctrl+c组合键

7.中断正在执行的命令

1.kill、killall命令

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

干掉指定的进程11.txt
在这里插入图片描述

干掉所有VIM进程
在这里插入图片描述

八、计划任务管理

1.计划任务管理at

at为一次性计划任务

at [HH:MM] [yyyy-mm-dd]

按Ctrl+D键提交任务

举例:
在这里插入图片描述
注:切勿轻易尝试 rm -rf /*

2.计划任务管理crontab

  • 按照预先设置的时间周期(分、时、日、月、周)重复执行用户指定的命令操作
  • 属于周期性计划任务
主要设置文件
全局配置文件位于文件:/etc/crontab
系统默认的设置位于目录:/etc/cron.*/
用户定义的设置位于文件:/var/spool/cron/用户名

3.管理crontab计划任务

编辑计划任务

crontab -e 【-u 用户名】      
#-u缺省时默认当前用户

查看计划任务

crontab -l 【-u 用户名】

删除计划任务

crontab -r 【-u 用户名】

3.1 crontab任务配置的格式

代表意义分钟小时日期月份命令
数字范围0~590~231~311~120~7需要执行的命令

周的数字为 0 或 7 时,都代表“星期天”的意思

时间数值的特殊表示方法
*表示该范围内的任意时间
,表示间隔的多个不连续时间点
-表示一个连续的时间范围
/表示间隔的时间频率

应用示例

0 12 * * 1-3         
#周一到周三每天12点
40 8 * * 1,3,5       
#周一,周三,周五8.40
0 8-18/2 * * *       
#8点到18点每两小时
0 * */3 * *          
#每三天

3.2 crontab -e [-u root] 编辑一个计划任务

每分钟定时执行一次规则

每1分钟执行: */1 * * * *或者* * * * *
每5分钟执行: */5 * * * *
每小时定时执行一次规则

每小时执行: 0 * * * *或者0 */1 * * *
每天上午7点执行:0 7 * * *
每天上午7点10分执行:10 7 * * *
每天定时执行一次规则:

每天执行 0 0 * * *
每周定时执行一次规则

每周执行 0 0 * * 0
每月定时执行一次规则:

每月执行 0 0 1 * *
每年定时执行一次规则:

每年执行 0 0 1 1 *

3.3 其他例子

5 * * * * ls         
#指定每小时的第5分钟执行一次ls命令
30 5 * * * ls        
#指定每天的 5:30 执行ls命令
30 7 8 * * ls        
#指定每月8号的7:30分执行ls命令
30 5 8 6 * ls        
#指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls        
#指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls    
#每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls     
#每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls      
#每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls     
#每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]

http://www.niftyadmin.cn/n/3652346.html

相关文章

[转]用C写CGI程序简要指南

用C写CGI程序简要指南一、CGI概述   CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。C…

Linux 私房菜————Linux系统基本操作命令(十三)|破解密码|端口扫描|仅供参考

暴力破解系统用户密码 | 网络端口扫描 一、Joth the Ripper系统弱口令检测1.Linux安装教程图解:2.开始破解系统用户密码图解:二、NMAP网络端口扫描1.安装nmap2.常用选项与对应扫描类型3.举例说明一、Joth the Ripper系统弱口令检测 一款开源的密码分析工…

使用php来做守护进程

使用php来做守护进程[ 起源 ]Linux/Unix下守护进程(Daemon)大家都知道,比如我们常用的httpd、mysqld等等,就是常驻内存运行的程序,类似于Windows下的服务。一般守护进程都是使用C/C来写,就是通过fork生成子…

Linux |yum命令报错|14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误“

当出现上述相同报错的命令时解决方案 //进入编辑模式vim /etc/resolv.conf插入: nameserver 8.8.8.8 nameserver 8.8.4.4保存并退出 收工!

FreeBSD+Apache+PHP+Mysql快速安装

FreeBSDApachePHPMysql快速安装在FreeBSD5.4上进行快速安装。基本主旨是重要程序手工安装,插件和扩展等使用ports安装。(可以先在本地下载,然后通过ssh上传到FreeBSD上;如果是直接在服务器上下载软件,必须先安装wget&a…

C语言库函数strcpy学习

strcpy是C语言的一个标准库函数&#xff1b; strcpy把含有\0结束符的字符串复制到另一个地址空间&#xff0c;返回值的类型为char*。 原型声明&#xff1a;char *strcpy(char* dest, const char *src); 头文件&#xff1a;#include <string.h> 和 #include <stdio.h&g…

Linux 私房菜————Linux系统基本操作命令(十四)|文件系统|inode节点|ext类型文件恢复|xfs类型文件恢复

文件系统|inode|block|ext和xfs类型文件恢复一、文件系统概述1.文件、扇区2.块&#xff08;block&#xff09;3.文件数据4.inode&#xff08;索引节点&#xff09;5.super block (超级块)6.结论二、模拟inode节点耗尽实验代码图解1.关闭虚拟机&#xff0c;编辑虚拟机设置&#…

[转]初学者简易 .vimrc 编写指南

初学者简易 .vimrc 编写指南作者&#xff1a;滇狐VIM 中可供用户定制的选项非常非常多&#xff0c; 作为初学者&#xff0c; 我们没有必要了解这么多东西。下面&#xff0c; 滇狐简单列出了一些最常用的配置项&#xff0c; 大家可以根据自己的需要将这些内容添加到自己的 .vimr…