当前位置: 首页 > news >正文

【Linux】补充:进程管理之手动控制进程,以及计划任务

目录

一、手动启动进程

1、理解前台启动与后台启动

2、如何完成前台启动后台启动的切换

3、完成并行执行多个任务

4、结束进程

1、kill 

2、killall

2、pkill

二、计划任务

1、at一次性计划任务

2、实操

2、周期性计划任务

1、关于设置周期性任务的配置文件以及格式

2、设置周期性任务的方法以及命令

实操案例:14点每分钟创建一个在同名时间文件名


一、手动启动进程

1、理解前台启动与后台启动

前台启动:通过终端启动,且启动后一直占据终端,终端不可以干别的事

后台启动:可通过终端启动,但启动后即转入后台运行(释放终端),终端可以干别的事

两者可以切换

2、如何完成前台启动后台启动的切换

采用“命令&”可以将进程放到后台执行

##命令dd &将其放到后台执行,并给到一个进程pid号
[root@localhost opt]#dd if=/dev/zero of=/opt/bigfile &
[1] 13991##查看当前后台的任务状态:jobs
[root@localhost opt]#jobs 
[1]+  运行中               dd if=/dev/zero of=/opt/bigfile &##查看当前后台的任务状态以及pid号:jobs -l
[root@localhost opt]#jobs -l
[1]+ 13991 运行中               dd if=/dev/zero of=/opt/bigfile &##将后台的任务放到前台运行:fg +任务的序号
[root@localhost opt]#fg 1
dd if=/dev/zero of=/opt/bigfile
^Z
[1]+  已停止               dd if=/dev/zero of=/opt/bigfile###ctrl + z将前台的任务停止并挂起,处于停止,但是还在##看下任务的状态区别
[root@localhost opt]#jobs
[1]+  已停止               dd if=/dev/zero of=/opt/bigfile##再次启动挂起的任务 :bg +任务序号
[root@localhost opt]#bg 1
[1]+ dd if=/dev/zero of=/opt/bigfile &##再看一下状态
[root@localhost opt]#jobs 
[1]+  运行中               dd if=/dev/zero of=/opt/bigfile &

3、完成并行执行多个任务

比如想要同时与三台主机ping

ping 127.0.0.1 & ping www.baidu.com & ping  192.168.20.10 &

4、结束进程

1、kill 

号代号信号名称说 明
0EXIT程序退出时收到该信息。
1HUP该信号让进程立即关闭.然后重新读取配置文件之后重启
2INT程序中止信号,用于中止前台进程。相当于输出 Ctrl+C 快捷键
3QUIT退出
8FPE在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误
9KILL用来立即结束程序的运行。本信号不能被阻塞、处理和忽略。般用于强制中止进程
14ALRM时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号
15TERM正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9
18CONT该信号可以让暂停的进程恢复执行。本信号不能被阻断
19STOP该信号可以暂停前台进程,相当于输入 Ctrl+Z 快捷键。本信号不能被阻断

2、killall

命令不再依靠 PID 来杀死单个进程,而是通过程序的进程名来杀死一类进程,比如杀死ping 

把与ping相关的进程全部杀死:killall  ping

2、pkill

 pkill [-t 终端号] 进程名-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者   ##pkill -U zhangsan  把zhangsan用户清退
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用)
-P pid: 显示指定进程的子进程w
#使用w命令查询本机已经登录的用户
pkill -9 -t pts/1
#强制杀死从pts/1虚拟终端登陆的进程

二、计划任务

1、at一次性计划任务

  • 由包 at 提供
  • 依赖与atd服务,需要启动才能实现at任务
  • at队列存放在/var/spool/at目录中,ubuntu存放在/var/spool/cron/atjobs目录下
  • 执行任务时PATH变量的值和当前定义任务的用户身份一致

2、实操

##一次性任务的格式
at [xx:xx] [xxx-xx-xx]#交互第一步,写任务内容
普通命令或者脚本##提交
ctrl + d ##查询(这里有个缺点,并不能查看具体的任务)
atq##删除任务
atrm  任务序号

2、周期性计划任务

1、关于设置周期性任务的配置文件以及格式

是由/etc/crontab配置文件,表明了周期性任务的书写格式,这个文件是个全局配置文件,写了以后是可以全局生效的

书写crontab时,需要注意的几项格式:

1、6个选项都不能为空,不确定就用*代替,注意注意,第一项为分钟,这个一定要想清楚,*是每分钟,0是整点,最好具体到时间,要不然就是每分钟执行一次,想清楚需求;

2、最小的单位是分钟,所以精确秒做不到!!

3、在定义时间的时候,注意星期和日期区别,容易混淆;

4、在定任务的时候,注意命令使用绝对路径!!!

2、设置周期性任务的方法以及命令

##方法一:
vim /etc/crontab##方法二:
crontab命令crontab -e   #创建周期性计划
crontab -l   #查看当前周期性计划
crontab -r   #删除计划任务  注意,删除的时候一次性全删了!!!
crontab -u 用户名 -e  #针对用户创建周期性任务
选项功能
 -u 用户名 用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般有 root 用户来运行。
 -e   编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。 
 -l  显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。 
 -r 

注意;这里删了就全删了,建议用crontab -e进入编辑页面删除单条 

从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 

 -i  在删除用户的 crontab 文件时,给确认提示。                    

实操案例:14点每分钟创建一个在同名时间文件名

[root@localhost opt]#crontab -l* 14 * * * /bin/touch  /opt/`date +\%F_\%T`

补充:

特殊字符的含义
项目含义范围
第一个"*"一小时当中的第几分钟(minute)0~59
第二个"*"一天当中的第几小时(hour)0~23
第三个"*"一个月当中的第几天(day)1~31
第四个"*"一年当中的第几个月(month)1~12
第五个"*"一周当中的星期几(week)0~7(0和7都代表星期日)
特殊字符的含义
 特殊符号     含义                                                         
 *(星号)    代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。 
 ,(逗号)    代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。 
 -(中杠)    代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。 
 /(正斜线)  代表每隔多久执行一次。比如"*/10****命令",代表每隔 10 分钟就执行一次命令。 

拓展练习:

1、每月的 1号 15号  30号

0  0 1,15,30 * *

2、中午  12点  -  16点 

0  12-16  *  * *

3、每  半小时 执行  一次

30 * * * *

4、每两分钟执行脚本

*/2  *  *  *  *

5、8点到18点之间每2小时  

0 8-18/2  * * *

6、每3天的每个整点

0  0  */3  *  *

7、每个月 1号  ,5 号 ,15号,  30号   下午 3到6点  执行

0  15-16  1,5,15,30 * *

8、每年1-5月每隔10天的上午和下午10点的10-45分内每隔5分钟执行一次

10-45/5  10,22  */10  1-5  *

9、每周五晚上8点整执行

0  20  *   *   5

8、每周日凌晨2点30执行一次

30  2  *  * 0

30  2  *  * 7

3、补充一点

实操修改了配置文件/etc/crontab文件,也是可以设置计划任务的,但是

①需要完全按照格式,需要指定用户

②不能使用命令crontab -l查看任务

所以建议不要使用

相关文章:

【Linux】补充:进程管理之手动控制进程,以及计划任务

目录 一、手动启动进程 1、理解前台启动与后台启动 2、如何完成前台启动后台启动的切换 3、完成并行执行多个任务 4、结束进程 1、kill 2、killall 2、pkill 二、计划任务 1、at一次性计划任务 2、实操 2、周期性计划任务 1、关于设置周期性任务的配置文件以及格式…...

听说,工作能力强的项目经理都有这几个特征

大家好,我是老原。 很多项目经理每天忙忙碌碌,但是一看结果,团队业绩没有完成、人才没有培养起来、自己的管理水平和个人领导力也没有得到提升。 明明付出了很多时间和精力,结果却只收获了团队的抱怨,以及老板对你管…...

合并两个有序链表OJ

合并两个有序链表OJ 文章目录 合并两个有序链表OJ一、题目及要求二、思路分析三、代码实现 一、题目及要求 二、思路分析 其次,题目里说了新链表是通过拼接原来的结点形成的,所以说我们不需要开辟新的空间。 三、代码实现 if (list1 NULL) {return li…...

2023NOIP A层联测27 A.kotori

2023NOIP A层联测27 A.kotori 文章目录 2023NOIP A层联测27 A.kotori题目大意思路code 题目大意 琴里的飞船中有 n n n 个人,其中有 n − 1 n - 1 n−1 个通道,所以飞船的内部是一个树形结构。每个人从 1 − n 1-n 1−n 编号,编号越小代表…...

循环生成el-descriptions-item

0 后端返回数据格式 {"msg": "操作成功","code": 200,"data": {"id": 42,"contactInfo": [{"contactPerson": "张三","contactPhone": "13688888888"},{"contactP…...

【原创】java+swing+mysql爱心捐赠管理系统设计与实现

摘要: 爱心捐赠管理系统旨在管理和优化捐赠过程,提高效率,增强透明度,并鼓励更多的个人和企业参与公益捐赠,用户可以捐款或者捐物。本系统采用javaswing界面可视化技术,数据库使用mysql。 功能分析&#…...

【小技巧】WPS统计纯汉字(不计标点符号)

【小技巧】WPS统计纯汉字(不计标点符号) 首先,CtrlF打开查找页面: 选择“高级搜索”,然后勾选“使用通配符”,然后在“查找内容”后面输入:[一-﨩]。注意:一定要带“[]”和“-”且…...

【押题】24考研押题

数二选手来押24数一考研大题 1.大题必有级数。级数出在压轴题,考级数敛散性与数列极限的结合 2.数一倒数第二题65%考画不出图的三重积分,参考19年出法;35%考第一类曲面积分与空间解析几何的结合。大题不会考第二类线面积分 3.概率大题会考参数…...

前端设计模式

前端设计模式 🎨 设计模式是在软件开发中,针对常见问题的解决方案的经验总结。在前端开发中,设计模式可以帮助我们组织和管理代码,提高代码的可维护性和可扩展性。下面列举一些常见的前端设计模式: 1. 单例模式 (Sin…...

Tomcat的类加载器

详情可以参考:https://tomcat.apache.org/tomcat-10.1-doc/class-loader-howto.html 简要说明 Tomcat安装了多种类加载器,以便容器的不同部分、容器中的应用访问能够不同的类和资源。 在Java环境中,类加载器被组织为父-子树的形式。通常情况…...

汽车驾驶智能座舱太阳光模拟器老化试验

一、太阳光模拟器老化试验目的 太阳光模拟器氙光灯老化试验是一种常用的材料老化测试方法,通过模拟自然光照条件下的老化过程,评估材料的耐光性能和耐候性能其主要目的有: 1.评估材料在长时间暴露于自然光照条件下的耐久性能: 2.比较不同材料的耐光性…...

记录一次校园CTF--wp

一.第一题简单nc 这题直接nc 地址端口即可得到flags没有套路 二.第二题pwn:ezstack 这是一题栈溢出题目,查看保护: 没有开启PIE,运行下查看效果: 题目是一个文字购物游戏。 接着扔进IDA中分析: 在主函数中我们找到…...

基于减法平均算法的无人机航迹规划-附代码

基于减法平均算法的无人机航迹规划 文章目录 基于减法平均算法的无人机航迹规划1.减法平均搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用减法平均算法来优化无人机航迹规划。 …...

C语言--每日五道选择题--Day4

第一题 1、如果 x2014 ,下面函数的返回值是( ) int fun(unsigned int x) {int n 0;while(x 1){n;x x | (x 1);}return n; } A: 20 B: 21 C: 23 D: 25 答案及解析 C 这个函数的作用是对整型中0的个数进行统计 x x | (x1) 的作用是每次…...

OpenCV图片验证码识别与滑块验证码识别

目录 图片验证码识别: 一、百度OCR文字识别云服务 二、维普网获取图片验证码 三、维普网opencvocr识别验证码 四、维普网selenium登录并获取数据 滑块验证码: 五、猎聘网获取滑块验证码 六、猎聘网opencv计算滑动距离 七、猎聘网selenium模拟滑…...

网络安全深入学习第八课——代理与端口转发

文章目录 一、什么是代理二、正向代理三、反向代理四、正向和反向代理模拟复现 一、什么是代理 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。 形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览…...

11月7日,每日信息差

今天是2023年11月07日,以下是为您准备的17条信息差 第一、五粮液否认内部讨论提价传闻 第二、雷军证实小米14销量已超百万台 第三、支付宝生活号全面开放UGC入口。据了解,今年以来,支付宝生活号陆续上线了创作者中心、热点榜单等多个内容产…...

sql异常Encountered unexpected token BINARY

1.出现错误 2023-11-06 10:48:19.604 [http-nio-8091-exec-3] WARN c.b.m.e.p.i.PaginationInnerInterceptor - [autoCountSql,343] - [e322891e-de87-4d98-8456-f6448d3c165e] - optimize this sql to a count sql has exception, sql:"selects.id,s.command,s.catego…...

P1131 [ZJOI2007] 时态同步

Portal. 先找出树上以 S S S 为起点最长的一条链,然后让其他链的长度都和该链对齐即可。 维护每个结点 x x x 的子树最长链 d max ⁡ ( x ) d_{\max}(x) dmax​(x),则每次 DFS 求出最长链之后调整对齐的代价为 d max ⁡ ( x ) − ( d max ⁡ ( s o …...

springboot(ssm 旅游管理系统 旅游规划平台 Java(codeLW)

springboot(ssm 旅游管理系统 旅游规划平台 Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0&#xff…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...