【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查看任务

所以建议不要使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/136777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库的表操作

1.创建表 1.1一般格式 create table table_name( Field1 datatype, Field2 datatype, Field3 datatype ) charset 字符集名 collate 校验规则 engine 存储引擎; 解释: Field : 表示列名datatype: 表示列的类型 charset 字符集:…

EOCR-3E420,3EZ,3DE电机保护器与变频器配合使用的方法

上海韩施电气自动化设备有限公司提供 在工业现场中,电动机的起动与运行很多时候需要变频器参与其中,以达到降低电机维护成本、增加电机寿命的目的。采用变频器运转时,随着电机的加速相应提高频率和电压,起动电流被限制在 150%额定…

小程序 打开方式 页面效果 表单页面 点击跳到详情页 图标 获取后台数据 进行页面渲染

请求地址:geecg-uniapp 同源策略 数据请求 获取后台数据 ui库安装 冲突解决(3)-CSDN博客 一.uniapp转小程序 (1) 运行微信开发工具 (2) 配置id 然后运行 打开小程序 路径 E:\通\uniapp-jeecg\unpackage\dist\d…

linux之进程控制

进程创建&fork函数 fork函数之前就已经提到,它从已存在进程中创建一个新进程,新进程为子进程,而原进程为父进程。 调用接口:fork() 头文件:unistd.h 功能:创建一个子进程,给子进程返回0,父进程返回子进程pid …

ChatGPT付费创作系统V2.4.9独立版 +WEB端+ H5端 + 小程序端系统测试安装教程

播资源提供的GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。当前全民热议ChatGPT,流量超级大,引流不要太简单!一键下单即可拥有自己的GPT!…

【计算机网络笔记】网络层服务模型——数据报网络

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

掌动智能:UI自动化测试工具的五大功能

在现代软件开发中,保证应用程序的质量和性能至关重要。UI自动化测试工具是一种关键的资源,它们能够有效地检查应用程序的用户界面,确保它们在各种情况下都能正常运行。本文将探讨UI自动化测试工具的功能有哪些! UI自动化测试工具的五大功能&a…

性价比高的照明品牌,五款经济实惠的照明品牌推荐

很多家长有时候会说孩子觉得家里的台灯灯光刺眼,看书看久了就不舒服。这不仅要看光线亮度是否柔和,还要考虑台灯是不是有做遮光式设计。没有遮光式设计的台灯,光源外露,灯光会直射孩子头部,孩子视线较低,很…

基于鱼鹰算法的无人机航迹规划-附代码

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

Linux - 实现一个简单的 shell

前言 之前我们对进程的替换,进程地址空间等等的概念进行了说明,本篇博客会基于这些知识点来 实现一个简单的 shell ,如有疑问,可以参考下述博客:Linux - 进程程序替换 - C/C 如何实现与各个语言之间的相互调用 - 替换…

后台管理系统解决方案-中大型-Vben Admin

后台管理系统解决方案-中大型-Vben Admin 官网 Vben Admin 在线演示 Vben Admin 为什么选择它 github现有20K星,并且它有个可视化生成表单,我很喜欢 快速开始 # 拉取代码 git clone https://github.com/vbenjs/vue-vben-admin-doc# 安装依赖 yarn#…

访问控制列表

目录 ACL ACL原理 ACL包过滤方式 ACL通用命令 查看ACL表命令 删除整张表命令 接口配置ACL ACL分类 标准ACL 标准ACL的动作与条件 通配符掩码 扩展ACL 扩展ACL的动作与条件 命名ACL 前言 书写方式 ACL 含义:访问控制列表,其是一种包过滤…

竞赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习行人重识别(person reid)系统 该项目…

【C++】STL容器适配器——queue类的使用指南(含代码使用)(18)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一、queue 类——基本介绍二、queue 类…

【赠书第3期】用ChatGPT轻松玩转机器学习与深度学习

文章目录 前言 1 机器学习 2 深度学习 3 使用ChatGPT进行机器学习和深度学习 4 推荐图书 5 粉丝福利 前言 机器学习和深度学习是当前最热门的技术领域之一,这些技术正在不断地改变我们的生活和工作方式。ChatGPT 是一款基于大规模预训练模型的自然语言处理工…

【Python基础】 Python设计模式之单例模式介绍

单例模式 1.设计模式2.单例设计模式的应用场景3.new方法4. Python 中的单例 1.设计模式 设计模式 是 前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案使用 设计模式 是为了可重用代码、让代码更容易被他人理…

python解析xmind统计测试用例/测试点 个数及执行情况

前言:统计的是每个分支最后一个节点的状态 xmind版本 23.0911172 标记打开位置 标记规则如下 解释: res {"total": 0, "pass": 0, "fail": 0, "no_result": 0, "unfinished": 0, "now_fail…

深度学习检测小目标常用方法

前言 在深度学习目标检测中,特别是人脸检测中,小目标、小人脸的检测由于分辨率低,图片模糊,信息少,噪音多,所以一直是一个实际且常见的困难问题。不过在这几年的发展中,也涌现了一些提高小目标…

机器/深度学习模型最优化问题详解及优化算法汇总

前言 其实最优化问题,从小学开始学习数学的时候就可以说已经接触到了,在我印象中有个问题,用一个平底锅煎饼,每次只能放2只饼,煎一只饼要2分钟(正反各用1分钟),煎三只饼要几分钟。这…

C语言--汉诺塔【内容超级详细】

今天与大家分享一下如何用C语言解决汉诺塔问题。 目录 一.前言 二.找规律⭐ 三.总结⭐⭐⭐ 四.代码实现⭐⭐ 一.前言 有一部很好看的电影《猩球崛起》⭐,说呀,人类为了抗击癌症发明了一种药物🍗,然后给猩猩做了实验&#xff0…