前言
之前面试的时候问道什么是进程,什么是线程,大部分都说是进程是资源调度的最小单位,而线程是任务调查和执行的基本单位,这也不能认为是错,但我觉得还是不够详细。
一、程序和进程的关系
1、程序
1、保存在硬盘、光盘等介质中的可执行代码和数据; 2、静态保存的代码;重点:静态
2、进程
1、在CPU及内存中运行的程序代码; 2、动态执行的代码; 3、父、子进程; 4、每个程序可以创建一个或多个进程
3、进程和多线程的区别
进程是操作系统资源分配的基本单位,而线程是任务调查和执行的基本单位。没有线程的进程可以视为单线程,如果一个进程内有多线程,则执行过程不是一条线的,而是多条线共同完成的,线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程
二、PS aux命令
1、基本命令:ps aux 2、列表标题含义: 3、列表标题补充知识
4、什么是僵尸状态(zombie)简单来说,父程序退出,子程序还没有退出,那么这些子进程就没有了父进程来管理,就变成僵尸进程了。 5、案例1:基本命令 6、案例2:输出进程中的行数 7、案例3:过滤出该进程中有关httpd的内容 8、案例4、状态
三、ps -elf命令
1、基本命令:ps -elf #以长格式显示系统中的进程信息 2、 参数含义
3、案例:基本命令
四、top 命令
1、基本命令:top 2、命令用途:查看动态的进程排名信息 3、列表标题含义 4、补充列表小知识
5、top案例 6、free案例 7、按照内存排序案例 8、按照cpu排序案例
五、pgrep 命令
1、基本命令:pgrep 参数 命令 2、参数 3、案例1:查看vim的进程号 4、案例2:查看带有“log"的进程, 5、案例3、查看指定用户hy的进程
六、Pstree 命令
1、基本命令:pstree -aup 2、命令用途:以树形结构列出进程信息 3、参数解释
4、pstree 案例
七、控制进程
1、手工启动过程:前台启动:用户输入命令,直接执行程序;后台启动:在命令行尾加入”&”符号 1.1、手工启动过程案例 2、进程的前后台调度:三步骤:CTRL + Z 组合键:将当前进程挂起,即调入后台并停止执行Jobs命令:查看后台的任务列表(只能在当前使用的终端可以查询)Fg命令:将后台进程恢复到前台运行,可指定任务序号 补充:bg; 将后台暂停执行的任务恢复运行并继续在后台执行 2.1、案例
八、kill命令
1、基本命令1:kill -9 进程号 2、基本命令2:killall -9 服务 3、基本命令3:pkill 参数(9 + -U”用户名”) 4、kill案例 5、killall 案例 6、pkill 案例
九、at命令
1、基础命令:at [HH:MM][yyyy-mm-dd] 具体步骤:date ; at [HH:MM][yyyy-mm-dd] 需求; ctrl+D 2、命令含义:一次性计划任务 3、命令补充: atp:是指已经设置但还未执行的计划任务 Atrm是指删除指定编号的at任务 4、案例 5、案例2:atq 和 atrm
十、Crontab 周期性任务设置
1、命令含义:按照预先设置的时间周期(分钟、小时、天…)2、/etc/crontab -----系统任务配置文件(全局)/etc/crontab 文件中设置的是维护 Linux 操作系统所需的任务,Linux 操作系统及相关程序在安装时可自动设置,不建议用户手动修改此文件。
3、系统默认的设置:位于目录:/etc/cron.*/ 4、用户定义的设置,位于文件:/var/spool/cron/用户名
5、管理crontab计划任务 5.1、编辑计划任务 crontab -e -u 用户名
5.2、查看计划任务 crontab -l -u 用户名
5.3、删除计划任务 crontab -r -u 用户名
6、crontab任务配置的格式 6.1、具体解读字段
6.2、时间数值的特殊表示方式
6.3、计划任务案例
十一、总结
这篇文章中,静态查看进程的方式博主认为最为顺手是ps aux,动态则是top,当然pgrep 的使用也是十分频繁的,在启动进程中,后台启动在命令后添加&符号即可,再使用ctrl+z组合键挂起当前进程,jobs查看(只适合当前终端)后台任务列表,fg方式将后台进程恢复前台运行,可指定任务序号。当然,进程太多是弊大于利的,杀死进程最好的方式就是kill -9 进程号,指定进程避免意外发生,在计划任务中,一次性计划使用频率较低。更多的是使用周期性计划任务,管理计划任务命令中,编辑查看删除最为常用,分别是-e编辑;-l查看;-r删除,同时在编辑中,必不可少的还是时间的设定,这里需要注意的是,设定完后需要重启服务,进入tail -f 实时查看是否有效。
|