当前位置: 首页 > news >正文

Linux10 ----------------进程 定时任务 僵尸进程

一什么是程序,什么是进程

 1程序:

          ·保存在硬盘光盘等介质中的可执行代码的数据   

          `静态保存的代码

2进程:

           ·在CPU中级内存中运行的代码

           ·动态执行的代码

           ·每个进程可以创建多个子进程

  二,静态查看进程统计信息的命令        PS命令

1,ps aux 

          (a).以简单的列表形式显示进程信息

          (b).

实例主要需要了解的进程内容:

 

 

 2.ps -elf

解释:以长格式显示系统中的进程信息,并且包含更丰富的内容

 

 

   3直接PS命令

     解释:指显示当前用户会话当中打开的进程

     

     4. 查看某个进程的详细信息

 

ps -elf | grep “进程名称”

 

三.动态查看进程统计信息   top命令

解释:实时动态的显示进程统计情况默认以CPU占用率排序

常用参数:实例

 -d: 指定刷新的时间单位时秒

 

-b:以批量处理模式操纵

 

-n:指定循环的次数

 

-u:指定用户名

 

-p:指定进程号

注意:当CPU占用率过高时,或者说在正常情况下都不应使用top这个命而是因该把top的结果重定向到某个文件里再到文件里去查看结果。以免cpu占用率过高导致崩溃

方法:top -b -n1 > /top.txt

top命令主要需要查看的关键点

 僵尸进程:一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程

危害

编辑
由于子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 那么会不会因为父进程太忙来不及wait子进程,或者说不知道 子进程什么时候结束,而丢失子进程结束时的状态信息呢? 不会。因为UNⅨ提供了一种机制可以保证只要 父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候, 内核释放该进程所有的资源,包括打开的文件,占用的内存等。但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等)。直到 父进程通过wait / waitpid来取时才释放. 但这样就导致了问题,如果进程不调用wait / waitpid的话,那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生 僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害,应当避免。
僵尸进程的避免

查看方法

编辑
查看僵尸进程,利用命令ps,可以看到有标记为Z的进程就是僵尸进程

 

 

 

 

 

 四。查看进程信息

pstree命令

以树形结果列出进程信息

 

 

过滤端口22是否被占用

netstat -antup | grep 22

 

ss -antup | grep 22

lsof -i:22 

 

 五。进程的启动方式

前台启动直接用户输入命令直接执行

后台执行

 

系统的后台调度命令进入vim后

ctrl+z  切换到前台

fg    切换到后台

六。终止进程的运行

kill 需要PID号终止进程   kill+pid号  -9强制终止 -kill等于-9

 

kill all 需要服务名终止进程,但是会把子进程也会终止掉所以一般不用

pkill  也是根据服务名终止进程不会吧子进程终止掉但是他能清楚用户还能把终端名杀掉

 

 

 定时任务

定时任务的路径必须是绝对路径

定时任务必须重定向到一个目录这个目录因为Linux的垃圾收集机制定时任务会有执行结果的输出所以必须定期清理

crond周期性定时任务需要开启crond服务

定时任务的配置文件

/var/log  日志文件

/var/log/cron   定时任务的日志文件

定时任务的建立

命令格式:crontab -e 直接进入定时任务的vim模式

a)  crontab相关目录、文件及其作用

相关目录、文件

作用

/etc/crontab

定时任务的 配置文件

/etc/cron.*

系统默认的设置目录(/etc下所有以cron.开头目录)

/var/spool/cron/用户名

用户定义的设置文件(所有定时任务在文件内容里)

/var/log/cron

定时任务日志文件

/var/spool/mail/用户名

接收定时任务mail的文件

/var/spool/postfix/maildrop

没有开postfix服务时,定时任务产生输出,会生成小文件在这个目录下

 

转载于:https://www.cnblogs.com/wanigna/p/9845209.html

相关文章:

  • 过程决定质量——清华郑人杰教授谈软件测试
  • luigi 学习
  • oracle的substr函数的用法
  • 博客索引
  • 刚登录,有点感觉就想写下来
  • ubuntu 14.04 添加、删除用户,修改用户名称,修改主机名
  • 本博客迁移到 http://www.cleocn.com , 该站使用SharePoint 2007 Blog模板架设
  • CURL POST 请求
  • 《WF编程》系列之9 - 编译工作流:使用WFC.EXE
  • 【TPShop】首页商品楼层
  • 迅雷最新版本存在严重的远程拒绝服务漏洞(0day)
  • cas配置不通过登陆校验的页面
  • [VJ]输出m/n,若是循环体只输出第一节
  • 删除顽固文件十二招
  • 如何将SLIC集成到ESXi中
  • [PHP内核探索]PHP中的哈希表
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • ES6简单总结(搭配简单的讲解和小案例)
  • Iterator 和 for...of 循环
  • Kibana配置logstash,报表一体化
  • linux学习笔记
  • Redis在Web项目中的应用与实践
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring boot 整合mybatis 无法输出sql的问题
  • SpringBoot几种定时任务的实现方式
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Twitter赢在开放,三年创造奇迹
  • 半理解系列--Promise的进化史
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 经典排序算法及其 Java 实现
  • 利用jquery编写加法运算验证码
  • 聊聊flink的TableFactory
  • 与 ConTeXt MkIV 官方文档的接驳
  • Spring第一个helloWorld
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​一些不规范的GTID使用场景
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (四)汇编语言——简单程序
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET企业级应用架构设计系列之开场白
  • .NET上SQLite的连接
  • .NET序列化 serializable,反序列化
  • .pyc文件是什么?
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20160902]rm -rf的惨案.txt
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)