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

Posted 酒哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务时,定时任务产生输出,会生成小文件在这个目录下

 

以上是关于Linux10 ----------------进程 定时任务 僵尸进程的主要内容,如果未能解决你的问题,请参考以下文章

2017.10.10 马哥linux学习笔记--linux 文件系统

linux服务器搭建--将win10换成linux

Linux新手应掌握的10个基本命令

2017-10-10Linux基础知识基础命令

怎样在Win10中使用Linux命令

每个Linux新手都应该记住的10个基本Linux命令