【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
| 号代号 | 信号名称 | 说 明 | 
| 0 | EXIT | 程序退出时收到该信息。 | 
| 1 | HUP | 该信号让进程立即关闭.然后重新读取配置文件之后重启 | 
| 2 | INT | 程序中止信号,用于中止前台进程。相当于输出 Ctrl+C 快捷键 | 
| 3 | QUIT | 退出 | 
| 8 | FPE | 在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误 | 
| 9 | KILL | 用来立即结束程序的运行。本信号不能被阻塞、处理和忽略。般用于强制中止进程 | 
| 14 | ALRM | 时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号 | 
| 15 | TERM | 正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9 | 
| 18 | CONT | 该信号可以让暂停的进程恢复执行。本信号不能被阻断 | 
| 19 | STOP | 该信号可以暂停前台进程,相当于输入 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ÿ…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
