首页 > 系统相关 >linux下进程与计划任务管理

linux下进程与计划任务管理

时间:2024-08-12 13:24:13浏览次数:14  
标签:选项 ## 命令 任务 线程 linux 进程

linux下进程与定时任务的管理

进程与程序

程序:

存储在硬盘、光盘等介质中含有可执行代码的可执行文件。

不删除就永久存在。

状态为静态。

进程:

进程是资源分配的最小单位。

临时存储在内存中(关机消失)。

动态执行的代码。

一个父进程可以拥有多个子进程。若该进程的父进程先行终止,而子进程没由终止,其子进程变为僵尸进程

根据线程数分类可以分为进程型程序线程型程序

线程:

线程是CPU调度的最小单位(程序执行的最小单元,共享线程内存资源)

进程程序:一个程序就一个线程,从稳定性的角度来看程序稳定更好。

线程程序:一个进程有6万多个线程,从效率的角度看线程型程序更好。

进程的启动顺序:

  • 父进程(master)先启动然后子进程(worker)启动,由socket进程守护端口。
  • 父进程先于子进程死掉,子进程的资源无法回收,形成僵尸进程

进程管理

静态查看进程

命令1: ps aux

选项: a 显示终端上的所有进程,包括其它用户的进程。

u 表示列出进程的用户。

x 显示当前用户在所有终端下的进程信息。

在这里插入图片描述

列名说明
USER进程的用户
PID进程的ID号
%CPU进程占用的 CPU 百分比
%MEM进程占用的 内存 的百分比
VSZ进程使用的虚拟内存量
RSS进程占用的物理内存量
TTY启动进程的终端名。不是从终端启动的进程则显示为?
STAT进程状态:D 不可中断状态;R 正在运行;S 休眠状态;T 停止状态;Z 僵尸进程,该进程的父进程已经死掉
START进程的启动时间
TIME进程运行的时间
COMMAND进程的启动命令

命令2:ps -elfps -eLf

选项: -e 显示系统内的所有进程信息。

l 使用长格式显示进程信息。

L 查看进程的父进程号

f 使用完整的格式显示进程信息。

l可以查看进程的父进程号,L可以查看进程的父进程号

动态查看进程

命令:top [选项]

选项: -d 指定刷新的间隔时间,单位秒

-b 以批量处理模式操作,一般与-n同时使用

-n 指定循环显示的次数

-u 指定用户名

-p 指定进程号

  • 作用:top 命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括 CPU、 内存等系
    统资源占用情况,默认情况下三秒刷新一次,默认以 CPU 占用率排序。

top交互界面示例图:在这里插入图片描述

表头第一行解释:

系统时间
up 5:32		##系统已运行时长
2 user		##当前登录用户数
load average: 0.00, 0.01, 0.05	##平均负载:1分,5分,15分

表头第二行解释:

Tasks		##总进程数
Threads		##总线程数(按H)
running		##正在运行的进程数
sleeping	##休眠的进程数
stopped		##中止的进程数
zombie		##僵死的进程数

表头第三行解释:

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

表头第四行解释:

total		##总内存空间
free		##空闲内存
used		##已用内存
buff/cache	##物理内存和交换内存的缓冲区总和

表头第五行解释:

total		##总交换空间
free		##空闲交换空间
used		##已用交换空间
avail Mem	##可用物理空间

top交互按键:

按键作用
P键根据CPU使用百分比大小进行排序
M键根据内存大小进行排序
N 键根据启动时间进行排序
c 键切换显示命令名称和完整命令行
h 键top程序的帮助界面
k键输入指定进程的 PID 号终止进程
q 键退出
数字 1 键显示CPU个数和状态
H 键查看线程

查看进程信息

命令:pgrep [选项]

常用选项: -l 显示进程名

-U 指定特定用户

-t 指定终端

在这里插入图片描述

查看进程树

命令:pstree [选项]

常用选项: -a 显示完整信息

-u 列出对应用户名

-p 列出对应 PID 号

后台启动进程

例:我们启动一个ping命令常常会占据我们的前台,这个时候我们不能进行其他操作在这里插入图片描述

这时,我们可以通过以后台启动的方式进行ping

我们只需要在命令的末尾加上&符号即可在这里插入图片描述

后台程序可以用jobs -l命令查看(-l可以查看其的PID)

在这里插入图片描述

fg命令可以将后台进程恢复到前台运行,可指定任务程序号在这里插入图片描述

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

bg命令可以将后台暂停的进程调至后台运行

nohup 用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

终止进程

  1. Ctrl+C 中断正在执行的命令

  2. kill killall 命令 (-9 选项用于强制终止)
    kill 用于终止指定 PID 号的进程
    killall 用于终止指定名称的所有进程

  3. pkill 命令

格式:pkill -9 [选项] (-9 选项用于强制终止)

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

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

定时任务

一次性定时任务

at命令设置的计划任务只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行。需要注意
的是,计划任务执行的时间、日期必须安排在当前系统的时候之后,否则将无法正确设置计划任务。

at 命令 :在指定的时间执行命令。Ctrl + D 进行提交

at的特殊写法:

  • at 20:00 2024-10-1  在具体时间执行
  • at now +10min  在十分钟后执行
  • at 17:00 tomorrow  明天下午五点执行
  • at 6:00 pm + 3 days  在3天后下午6点执行
  • at 23:00 < a.txt  将a.txt导入

at -c 查看任务的具体内容

atrm[任务序号]删除第几项任务 atrm=at -d

atq 或 at -l查看 未执行的定时任务列表;

命令:at HH:MM

选项: -l 查看已有一次性定时任务

-d 删除指定定时任务

-c 查看任务的具体内容

ctrl+D 保存任务

周期行定时任务

​ 使用crontab命令设置的计划任务可以按预设的周期重复执行,可以大大减轻设置重复性系统管理任务的操作。启用周期性任务也有一个前提的条件,即对应的系统服务crond必须已经运行。

  • 按照预先设置的 时间周期(分、时、日、月、周)重复执行用户 指定的命令 操作
  • 属于 周期性计划任务。
  • 主要设置文件
    • 全局配置文件:/etc/crontab
    • 系统默认的设置:/etc/cron.*/
    • 用户定义的设置:/var/spool/cron/用户名
    • 日志文件: /var/log/cron
    • 邮件文件保存位置: /var/spool/mail
    • 邮件发送失败,会保存小文件:/var/spool/postfix/maildrop

命令:crontab [选项]

选项: -e 编辑计划任务

-l 查看计划任务

-r 清空定时任务

定时任务的格式为:分 时 日 月 周 命令

10 10 1 1 * /bin/ls /root 

时间数值表示方法:

  • * :表示这个字段的范围内 任意 的时间;
  • ,:表示间隔的多个 不连续 时间点;
  • - :表示一个 连续 的时间范围;
  • / :指定间隔的时间频率,每几天、每几小时 执行一次;

常见的表达式实例:

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

0 0 * * *		#每天定时执行一次
0 0 * * 1		#每周定时执行一次
0 0 1 * *		#每月定时执行一次
0 0 1 1 *		#每年定时执行一次
  • 用户定义的设置:/var/spool/cron/用户名在这里插入图片描述

标签:选项,##,命令,任务,线程,linux,进程
From: https://blog.csdn.net/weixin_62684565/article/details/141109975

相关文章

  • Linux常用基础命令
    1.1Linux系统的文件结构1/bin二进制文件,系统常规命令2/boot系统启动分区,系统启动时读取的文件3/dev设备文件4/etc大多数配置文件5/home普通用户的家目录6/lib32位函数库7/lib6464位库8/media......
  • 使用DEVCON工具来禁用和启用USB端口的基本指南;DEVCON工具的高级使用方法,帮助你进行更
    DEVCON(DeviceConsole)是一个命令行工具,用于管理设备驱动程序和设备的状态。要禁用USB端口,可以使用DEVCON工具执行相关操作。以下是一个初级使用教程的大纲,帮助你了解如何使用DEVCON禁用USB端口:DEVCON禁用USB端口初级使用教程大纲1. 介绍与准备什么是DEVCON?介绍DEVCON工具......
  • Linux系统编程、网络编程
    Linux系统编程、网络编程前言一、进程的退出正常退出异常退出父进程等待子进程退出为什么要等待子进程退出二、消息队列消息队列操作:形象举例:疑惑点疑惑点一三、信号疑惑点1.signal函数的原型:四、线程疑惑点1.线程的创建1.1intpthread_create函数每个参数的含义......
  • Linux-文件编程
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Linux-文件编程前言一、文件1.文件的打开和创建2.文件的写入3.文件的读取4.文件的光标移动5.实现cp命令(复制文件)二、进程父进程与子进程(创建进程发生了什么事)(面)main()二、使用步骤1.引入库2.读入数据总......
  • Mac上的 WindowServer进程是什么?如何解决高CPU使用率
    大多数时候,我们不会关注Mac上运行的后台进程。但是,如果你在罕见的一天检查活动监视器以解决减速问题,你可能会惊讶地看到WindowServer进程位于顶部。想知道Mac上的WindowServer有什么用?它为什么要吃资源?接下来带大家了解关于WIndowServer的一些知识以及它是否安全。Mac......
  • 通过cmd查找端口占用,并杀死进程
    windows通过cmd查找端口占用1.查看端口占用情况netstat-ano 2.查看某个端口被占用情况netstat-ano|findstrxxxx//xxxx为查询的端口号 3.查看某个状态的端口netstat-ano|findstrxxxx//xxxx为查询的端口状态 具体端口状态请查找后面描述......
  • linux笔记(1):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4
    文章目录1.ubuntu安装ffmpeg1.1源码安装1.1克隆ffmpeg源码1.2配置编译条件,编译,安装1.2直接安装依赖包2.下载lvgl源码2.1测试原始代码2.2运行lv_example_ffmpeg_2()例程2.2.1配置LV_USE_FFMPEG为12.2.2lv_example_ffmpeg_2()替换lv_demo_widgets()2.2.3链接......
  • 二、Linux系统安装和基本使用
    Linux系统安装和基本使用这里我想记录自己在学习中遇到的有趣的、让自己觉得学到了的点。Vim的使用文章中举出的两个gitpower的例子非常有意思,我们来分析一下:宏录制Thefirstexampleistogeneratethefollowingfile:123.....9899100Thisfilecontains100......
  • Nexpose v6.6.264 for Linux & Windows - 漏洞扫描
    Nexposev6.6.264forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseAug07,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • crontab 设置周期性被执行的任务的工具
    1.1crontab服务管理crontab服务管理是Unix和类Unix系统(如Linux和macOS)中用于设置周期性被执行的任务的工具。crontab服务管理是"crontable"(cron表格)的缩写,它允许用户为任务安排在未来某个时间点执行,也可以定期重复执行。1.2crontab定时任务设置1)基本语法c......