进程和计划任务管理

目录

一.进程 VS 线程

1.1 程序和进程的关系

1.2 线程

二、查看进程

2.1ps aux命令(查看所有进程统计信息)

2.2ps -elf命令(使用长格式,完整的显示系统内所有进程信息)

三、查看进程信息

3.1TOP动态查看进程信息

3.2系统查看命令总结

3.3pgrep查看进程信息

​3.4pstree查看进程树

四、进程的启动方式

4.1手工启动

4.2调度启动

4.3进程的前后台调度

4.4终止进程的运行kill

4.5根据特定条件终止相应的进程pkil

五、计划任务管理

5.1at命令

5.2计划任务管理crontab

 5.2.1 crontab 的使用方法


一.进程 VS 线程

1.1 程序和进程的关系

程序

保存在硬盘、光盘等介质中的可执行代码和数据
文件中静态保存的代码

进程

在CPU及内存中运行的程序代码
动态执行的代码
父、子进程

1.2 线程

线程是操作系统能够进行运算调度的最小单位。
它被包含在进程之中,是进程中的实际运作单位。
一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

二、查看进程

2.1ps aux命令(查看所有进程统计信息)

查看进程数量:(ps aux | wc -l)-1,需要减去一个标题;ps auxh | wc -l

aux

选项以及各列解释

z:僵尸进程含义
一个进程结束了,但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

2.2ps -elf命令(使用长格式,完整的显示系统内所有进程信息)


各列解释

注:谦让度和优先级是一对相反的概念,优先级高的进程会更早被处理高谦让度意味着低优先级,允许用户设置谦让度。

三、查看进程信息

3.1TOP动态查看进程信息




进程信息区各列解释:

top常用命令:

***总结:
1.哪些命令能够查看load average:top、w、uptime
2.load average的值在上面情况下可认为是异常的:平均负载长时间高于CPU数量的70%时
3.load average平均负载高时可能是CPU密集型进程(大量使用cpu)导致,也可能是I/0繁忙(读写频繁)导致。

3.2系统查看命令总结

3.3pgrep查看进程信息

3.4pstree查看进程树

四、进程的启动方式

4.1手工启动

前台启动:
用户输入命令,直接执行程序

后台启动:
在命令行尾加入“&”符号。默认情况下通过追加 &后台运行的进程会随着终端的关闭而自动退出,
可在命令开头位置添加 nohup(格式为nohup 命令&),可实现后台运行的进程不会随着终端的关闭而自动退出

 

4.2调度启动

使用at命令,设置一次性计划任务
使用crontab命令,设置周期性计划任务

4.3进程的前后台调度

Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行;
jobs命令:jobs -l 查看挂起调度到后台的进程列表和序号
fg命令:fg <序号> 将后台进程恢复到前台运行,可指定任务序号;

4.4终止进程的运行kill

Ctrl + C组合键:中断正在执行的命令;

kill、killall命令
kill用于终止指定PID号的进程
killall用于终止指定名称相关的所有进程
kill -9选项用于强制终止

补充:
我们经常会用到kill命令去杀死一个进程,但是有时会出现kill不成功的现象,这时就要用到kill -9。
之所以这两个命令会有区别是因为所发送的信号(signal)是不同的。默认情况下kill命令的参数为-15。
kill -15代表的信号为SIGTERM,这是告诉进程你需要被关闭,请自行停止运行并退出;
而kill -9代表的信号是SIGKILL,表示进程被终止,需要立即退出;
因此kill -9表示强制杀死该进程,这个信号不能被捕获也不能被忽略。
kill -3可以打印进程各个线程的堆栈信息,kill -3pid 后文件的保存路径为:/proc/${pid}/cwd,文件名为:antBuilderOutput.log
总结:如果是让进程自己执行退出离场程序就使用 kill 命令,这样进程可以自己执行一些清理动作然后退出。如果进程卡死,你需要记录当时的事故现场,那么应该用kill-3 来记录事故现场的信息然后退出。如果你什么也不需要,就是要杀死一个进程那么就是用 kill -9 命令,很暴力的杀死它。

4.5根据特定条件终止相应的进程pkil

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

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

五、计划任务管理

5.1at命令

一次性计划任务
使用at命令设置的任务只在指定时间点执行一次,若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间;

5.2计划任务管理crontab

按照预先设置的时间周期(分 时 日  月  周)重复执行用户指定的命令操作(绝对路径的命令或者脚本)。
属于周期性计划任务。
主要设置文件。
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名

命令操作:
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:  crontab  -l  [-u 用户名]
删除计划任务:crontab -r  [-u 用户名]
注;-u缺省时默认是针对当前用户

在使用 crontab前注意:crond的服务是否打开

 5.2.1 crontab 的使用方法

crontab  类似vim编辑器一样打开一个配置文件,向配置文件中写入周期任务。但是写周期任务,需要对使用周期时间进行理解和掌握

时间数值的特殊表示方法
*  表示该范围内的任意时间
,表示间隔的多个不连续时间点
-  表示一个连续的时间范围
/   指定间隔的时间频率

实例

1.11月12号 上午8点到10点的第30分钟执行1s -1 /root
30 8-10 12 11 * 1s -1 /root
2.每个月的8号9点半执行1s -1 /root
30 9 8 * * 1s -1 /root
3.每个月每隔5天的凌晨一刻执行1s -1 /root
15 0 */5 * * 1s -1 /root
4.每个月每隔5天的早上八点和晚上八点每隔5分钟执行ls -1 /root
*/5 8,20 */5 * * ls -1 /root
5.每隔两个月的工作日的朝九晚五期间的第30分钟执行ls -1 /root
30 9-17 * */2 1-5 ls -1 /root

实操
输入crontab -e进入编辑页面


 

相关推荐

  1. 09-进程计划任务管理

    2024-04-24 23:32:01       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 23:32:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 23:32:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 23:32:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 23:32:01       18 阅读

热门阅读

  1. 9、数据类型(数值、布尔、字符串)

    2024-04-24 23:32:01       10 阅读
  2. C语言oj题

    2024-04-24 23:32:01       10 阅读
  3. Sql多表查询

    2024-04-24 23:32:01       10 阅读
  4. 消息队列的简介

    2024-04-24 23:32:01       11 阅读
  5. 解耦、异步、削峰是什么

    2024-04-24 23:32:01       12 阅读
  6. 前端 -- if-else嵌套地狱

    2024-04-24 23:32:01       13 阅读
  7. class090 贪心经典题目专题2【左程云算法】

    2024-04-24 23:32:01       12 阅读
  8. 最短路问题之Dijkstra算法 洛谷 单源最短路径

    2024-04-24 23:32:01       12 阅读
  9. 上海计算机学会4月月赛 丙组题解

    2024-04-24 23:32:01       14 阅读