第十节 ——进程和计划任务管理(2018-10-24)
java的技术体系
脚本语言:shell 、perl ,ruby
系统语言:c . c++ ,erlang(游戏服务架构),golang(速度近似网络的语言)
应用语言:python ,java,php ,c#, .net
前端:1:html语言(管理网页里的内容)
2: css语言(管理内容的位置,样式)
3: javacript=JS(管理网页的动作的)
123是网页皱形
shell 解释型编程语言
代码——解释器——进程
代码(26个字母)-----shell解释器/bin/bash----进程{计算机认识的叫做机器码}
java----编译码-----字节码语言------解释器-----机器码-----进程
java的代码的编译和执行流程
jvm :class loader 类装载器 执行引警 本地操作系统
indexjsp-----servelet(转换器)---indx.java(纯java代码)---javaC----index.class---class.loader(类加载器)--解释器---机器码(机器能识别的代码)
一、程序:1、保存在硬盘,光盘等介质中的可执行代码和数据。2、静态保存代码
二、进程:1、在CPU及内存中运行的程序代码。2、动态执行代码 3、父/子进程:每个进程都可以产生一个或多个进程
PS:静态查看进程的统计信息
PS aux:查看占用CPU和MEM(内存)的百分比ps aux | grep
ps -ef | grep +服务名:判断某个服务名是否处于启动状态
PID :进程名 TTY:终端名称 PTS;远程终端 TIME:占用CPU 时间 COMMAND(命令的绝对路径)
TOP:动态查看进程的统计信息
Tasks(任务)swap(缓存) USER(进程所有者的用户名) PR(优先级) NI(nice值:负责表示高优先级,正值表示低优先级)VIRT(进程使用的虚拟内存总量,单位是KB) S(进程状态)
pgrep:根据特定条件查询PID信息
-l;显示进程
-U:指定特定用户
-t:指定终端
pstree;以树的形式结构列出进程信息
-a;显示完整信息
-u列出对应用户名
-P:列出对应的人PID号
三种杀:kill 需要根据PID 号杀进程,(-9属于强杀、-15属于温柔杀)
pkill 需要根据服务名杀进程,也比较强力,但是不杀后代,能踢人,还能根据终端名杀
killall 需要根据服务名杀,能杀死子孙后代 -9 强杀
怎么排查僵尸进程?
三种方法;1、命令top查看zombie的值是否为0
2、命令ps aux | grep "^Zz$" | wc -l
3、命令ps -o pid,stat
linux的定时任务(crond:定时任务)
Crontab -l:查看当前用户的定时任务
Crontab -e:进入当前用户定时任务的VIM编辑模式
Crontab -r:删除定时任务
/var/spool/cron:定时任务的路径
/var/log/cron:定时任务日志路径
/etc/crontab:查看定时任务配置文件的路径
path;环境变量(去那个路径去找命令)
MATLTO=root(给用户发邮件) HOME=/(根,一切从根开始)
下图*****五个*从前到后代表 ——分、时、日、月、周
分(0—59) 时(0—23) 日(1—31) 月(1—12) 周(1—6)
nl /etc/crontab如下:
写定时任务命令 如下:*****/bin/echo "666666 ! 666666" >> /dev/null
步骤1;用命令crontab -e 进入定时vim编辑模式
步骤2;写定时任务 列如:32 15 ** 1-5 /bin/echo "666" >> /dev/null(每周一到周五每日15点32分向/dev/null写入内容666)保存退出
步骤3:用命令tail -f /var/log/cron 动态检测定时任务
感谢老铁一起讨论