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

news2024/12/29 8:36:07

目录

一、手动启动进程

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

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

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

相关文章

react 实现chatGPT的打印机效果 兼容富文本,附git地址

1、方式一 :使用插件 typed.js typed.js 网站地址,点我打开 1.1、核心代码如下: //TypeWriteEffect/index.tsx 组件 import React, { useEffect, useRef } from react; import Typed from typed.js; import { PropsType } from ./index.d;…

【STM32】定时器

systick定时器: 【STM32】Systick定时器-CSDN博客 0.通用定时器框图 1.时钟源 2.控制器 3.输入捕获 计数器实际上是与比较寄存器的影子寄存器进行比较的。 4.输出比较 1.STM32的定时器学习要点 参考手册 STM32F1xx中文参考手册.pdf 林何/STM32F103C8 - 码云 -…

【LIUNX】机器互访:免密登陆

服务器端 /etc/ssh/sshd_config 口常见SSH服务器监听的选项如下: Port 22//监听的端口为22 Protocol 2//使用SSH V2协议 ListenAdderss 0.0.0.0 //监听的地址为所有地址 UseDNS no//禁止DNS反向解析 客户端 /etc/ssh/ssh_config 口常见用户登录控制选项如下&#…

Red Giant Trapcode Suite 2024.0.1

Red Giant Trapcode Suite是一款ae视觉效果插件软件,适用于After Effects和Premiere Pro等流行的视频编辑软件。该软件集合了一系列强大而创新的工具,可以帮助用户创建令人惊叹的视觉效果和动态图形。 Red Giant Trapcode Suite包含多种插件&#xff0c…

3-知识补充-MVC框架

3-知识补充-MVC框架 文章目录 3-知识补充-MVC框架MVC概述M、V、C各自负责功能及常用包MVC框架图非前后端分离框架图前后端分离框架图 MVC概述 MVC(Model、View、Controller)是软件工程中的一种**软件架构模式,它把软件系统分为模型、视图和控…

SpringCloudAlibaba——Nacos

Nacos是服务注册中心服务配置中心。替换了以前的EurekaConfigBus。 1.Nacos作为服务注册中心 Nacos支持AP和CP模式的转换。 2.Nacos作为服务配置中心 服务要配置两个yml文件,bootstrap.yml和application.yml。因为Nacos同springcloud-config一样,在项…

NeRF神经辐射场渲染过程详解,三维重建渲染过程基本原理_光线采样sample_pdf()和光线渲染render_rays ()代码详解

目录 1 神经辐射场 1.1 基本原理 1.2 基本流程 1.3 数学解释 2 三维场景图像渲染详解 2.1射线采样 2.2 NeRF 模型预测 2.3 体积渲染 3 采样与渲染代码详解 (rending.py) 3.1 神经体积渲染代码解析 3.2 sample_pdf 函数 3.3 render_rays 函数 …

号牌模拟数据生成

说明 自己开发的测试数据生成工具,用于生成数据训练对应模型。 项目 效果

微带线的ABCD矩阵的推导、转换与级联-Matlab计算实例

微带线的ABCD矩阵的推导、转换与级联-Matlab计算实例 散射参数矩阵有实际的物理意义,但是其无法级联计算,但是ABCD参数和传输散射矩阵可以级联计算,在此先简单介绍ABCD参数矩阵的基本用法。 1、微带线的ABCD矩阵的推导 其他的一些常用的二端…

【教程】多进程下载百度旋转验证码图片-制作数据集

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 效果展示: 直接上代码,开箱即用(当然selenium库自己装一下): import os import time import requests from selenium import webdriver from selenium.…

为什么HTTP用得很好的,开始普及HTTPS呢?

显而易见,现在的HTTP早已不安全,当我们在浏览各个网站时会发现HTTP前面都会显示不安全,因为HTTP是明文传输,一旦电脑被植入了木马,木马程序就会主动周期性发消息给Internet的控制终端,这样NAT小洞会一直敞开…

Markdown写作应用推荐

MWeb Pro 是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友,那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。 Markdown 语法支持: 使用 Github Flavored Markdown 语法,简称 GFM 语法。支持表格、TOC、…

2023年云计算发展趋势:生活的智能未来

目录 引言1 智能家居的崭新时代2 无人驾驶的崭新时代3 虚拟现实的扩展与改进4 人工智能的综合应用5 云计算的可持续性结语 引言 时光荏苒,科技的飞速发展已经成为当今社会的标志之一。在这个数字化时代,云计算已经成为推动技术革新和生活方式改变的关键…

【深度学习】Python爬取豆瓣实现影评分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、任务描述二、使用步骤1.数据爬取1.2.对爬取的页面数据进行解析,并保存为JSON文件2、数据分析2.1数据分析之评论时间分布图2.2角色评分 前言 爬…

雷神学习---视音频数据处理入门:RGB、YUV像素数据处理

原文地址:https://blog.csdn.net/leixiaohua1020/article/details/50534150 ​​​​​​​​从代码可以看出,如果想把YUV格式像素数据变成灰度图像,只需要将U、V分量设置成128即可。 这是因为U、V是图像中的经过偏置处理的色度分量。色度分…

Python继承和多态:基础继承、方法重写、多态的基本概念

文章目录 基础继承方法重写多态在编程语言中,特别是在面向对象编程(OOP)中,继承和多态是两个核心概念,它们提供了代码重用和接口设计的强大工具。Python 作为一种支持 OOP 的语言,也具备这些特性。 基础继承 继承是面向对象编程的一个基本概念,它允许我们定义一个类(…

Angew. Chem. Int. Ed.:Co-1T-MoS2-bpe碱性介质中电催化HER

高效析氢反应(HER)电催化剂决定氢动力清洁技术的质量分布,但仍面临着巨大的挑战。基于此,中国石油大学(华东)董斌副教授等人报道了通过CoMo -金属-有机骨架前驱体对1T-MoS2催化剂进行了配体调制和Co掺杂的协…

前端图片压缩上传,减少等待时间!优化用户体检

添加图片注释,不超过 140 字(可选) 这里有两张图片,它们表面看上去是一模一样的,但实际上各自所占用的内存大小相差了180倍。 添加图片注释,不超过 140 字(可选) 添加图片注释&…

JumpServer 打开RDP客户端出现由于在客户端检测到一个协议错误 错误代码 0x2104

环境: Win10 专业版 JumpServer Version v2.25.4 问题描述: JumpServer 打开RDP客户端出现由于在客户端检测到一个协议错误 错误代码 0x2104 个别电脑又是正常可以连接 解决方案: 检查网络连接:确保您的计算机和JumpServer之间的网络连接正常。尝试使用其他网络连接…

操作系统基础知识1

1、用户态和内核态的区别? a、访问权限。用户态下,应用程序只能访问受限的的资源和执行受限的程序;而在内核态下,操作系统具有完全的访问权限,可以访问系统的所有资源和执行所有操作; b、CPU指令集。用户态…