Linux基础知识及系统管理(六):Linux进程管理

一、进程的概念

1、进程和程序的区别

 (1)、程序是静态概念,本身作为--种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。

 (2)、程序和进程无。对应关系。 一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。

2、父进程与子进程

 (1)、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。

 (2)、在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。

 (3)、父进程终止子进程自然终止。

3、前台进程和后台进程

 (1)、前台进程:

      在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行另一-个命令。

 (2)、后台进程:

      在Shell提示处打 入命令,若后随一个&,Shell创建的 子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。

4、进程状态

 (1)、就绪:  进程已经分配到资源,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态。

 (2)、等待:  因等待某种事件而暂时不能运行的状态。

 (3)、运行:  进程分配到CPU,正在处理器上运行。

 

5、进程状态细化

 (1)、用户态运行:在CPU上执行用户代码

 (2)、核心态运行:在CPU上执行核心代码

 (3)、在内存就绪:具备运行条件,只等调度程序为它分配CPU

 (4)、在内存睡眠:因等待某一事件的发生, 而在内存中排队等待

 (5)、在外存就绪:就绪进程被交换到外存上继续处于就绪状态

 (6)、在外存睡眠:睡眼进程被交换到外存上继续等待

 (7)、在内存暂停:因调用Istop程序而进入跟踪暂停状态,等待其父进程发送命令。

 (8)、在外存暂停:处于跟踪暂停态的进程被交换到外存上

 (9)、创建态:新进程正在被创建、但尚未完毕的中间状态

 (10)、终止态:进程终止自己

二、进程管理命令

1、查看用户信息 w

       -JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里。

       -PCPU:CPU执行程序耗费的时间

       -WHAT:用户正在执行的操作

    查看个别用户信息:w 用户名

    w 显示信息的含义

       -load average: 分别显示系统在过去1、5、15分钟内的平均负载程度。

       -FROM:显示用户从何处登录系统,“:0”的显示代表该用户时从X Window下。打开文本模式窗口登录的

       -IDLE:用户闲置的时间。这是一一个计时器,,一旦用户执行任何操作,该计时器便会被重置

2、查看系统中的进程ps

 (1)、常用选项

       -a:显示所有用户的进程

       -u:显示用户名和启动时间

       -x:显示没有控制终端的进程

       -e:显示所有进程,包括没有控制终端的进程

       -l:长格式显示

       -w:宽行显示,可以使用多个w进行加宽显示

 (2)、实例

       # ps-uor-l查看隶属于自己进程详细信息

       # ps -le or -aux查看所有用户执行的进程的详细信息

       # ps -aux --sort pid可按进程执行的时间、PID、UID等对进程进行排序

       # ps -uU 用户名  查看系统中指定用户执行的进程

       # ps -aux | grep 用户名  查看系统中指定用户执行的进程

       # ps -le | grep init 查看指定进程信息

       # pstree  树状显示所有进程

3、ps常用输出信息的含义

       -PID:进程号

       -PPID:父进程的进程号

       -TTY:进程启动的终端

       -STAT:进程当前状态

          S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止

       -NI:进程优先级

       -TIME:进程自从启动以来启用的CPU的总时间

       -COMMAND/CMD:进程的命令名

       -%CPU:占用CPU时间和总时间的百分比

       -%MEM:占用内存与系统内存总量的百分比

4、kill-杀死进程

 (1)、为什么要杀死进程

       -该进程占用了过多的CPU时间

       -该进程缩住了一个终端,使其他前台进程无法运行

       -运行时间过长,但没有预期效果

       -产生了过多到屏幕或磁盘文件的输出

       -无法正常退出

 (2)、常用选项

       -关闭进程: kill进程号(PID)

       - kill-9 进程号(强行关闭)

       - kill-1 进程号(重启进程)

       -关闭图形程序: xkill

       -结束所有进程: killall

       -查找服务进程号: pgrep 服务名称

       -关闭进程: pkill 进程名称

        实例:

           # /etc/rc.d/init.d/httpd start

           启动 httpd:[确定]

           # pgrep httpd

           5440

           5442

           5443

           # pkill httpd

           # pgrep httpd

5、优先级命令 nice renice

 (1)、nice

       -指定程序的运行优先级

       -格式:nice -n command

       -例如:nice --5 /etc/rc.d/init.d/httpd start

 (2)、renice

       -改变一个正在运行的进程的优先级

       -格式:renice n PID

       -例如:renice -5 777

       *优先级取值范围为(-20,19)*

6、nohup

       使进程在用户退出登陆后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中

       格式:nohup program &

            nohup find / -nane init > /root/find.init.20190116 &

7、进程的挂起和恢复

 (1)、进程的中止(挂起)和终止

       挂起(Ctrl+Z)

       终止(Ctrl+C)

 (2)、进程的恢复

       恢复到前台继续运行(fg)

       恢复到后台继续运行(bg)

 (3)、查看被挂起的进程(jobs )

8、top  进程状态显示和进程控制,每5秒钟自动刷新次(动态显示)常用选项:

       -d:指定刷新的时间间隔

       -c:显示整个命令行而不仅仅显示命令名

       -u:查看指定用户的进程

       -k:终止执行中的进程

       -h or ?:: 获得帮助

       -r:重新设置进程优先级

       -s:改变刷新的时间间隔

       -W:将当前设置写入~/.toprc文件中

三、计划任务

1、为什么要设置计划任务

2、at  安排作业在某一时刻执行一次

 (1)、at命令格式及参数

       at[-f 文件名] 时间

       at -d or atrm 删除队列中的任务

       at -l or atq 查看队列中的任务

 (2)、at命令指定时间的方式

       绝对及时方法

        -midnight noon teatime

        -hh:mm:[today]

        -hh:mm tomorrow

        -hh:mm 星期

        -hh:mm MM/DD/YY

       相对计时方法

        -now + n minutes

        -now + n hours

        -now + n days

 (3)、指定在今天下午17.30执行某命令(假设现在14.30,2011,1,11)

       at 5:30pm

       at 17:30

       at 17:30 today

       at now + 3 hours

       at 17:30 11.1.11

       at 17:30 1/11/11

 (4)、at 配置文件  :限制哪些用户可以使用at命令

       -/etc/at.allow

       -/etc/at.deny

       如果/etc/at.allow文件存在,那么只有列在此文件中的用户才可以使用at命令;若/etc/at.allow文件不存在,则检查/etc/at.deny文件是否存在。若/etc/at.deny存在, 则在此文件中列出的用户都不能使用at命令。如果两个文件都不存在,则只有超级用户可以使用at命令。如果两个文件都存在而且均为空,则所有用户都可以使用at命令。  

2、batch 安排作业在系统负载不重时执行一次(负载在0.8以下)

       使用方法同at

3、crontab  用于生成cron进程所需要的crontab文件(周期性计划任务)

 (1)、crontab的命令格式

       crontab {-l|-r|-e}

       -l 显示当前的crontab

       -r 删除当前的crontab

       -e 使用编辑器编辑当前的crontab文件

 (2)、创建计划任务 crontab -e

       (把知道的具体时间添上,不知道的都添上*)

       例如:分钟 小时 天 月    星期  命令/脚本

              0     4    *   *      *           (每天凌晨4点)

              0     18  *   *    2,5         (周二周五下午6点)

              0     18  *  1-3  2,5         (一到三月周二周五下午6点)

              30    17  *   *    1-5  /usr/bin/wall < /etc/issue

              45    17  *   *    1-5  /sbin/shutdown -h now

       例:某学校运营网站服务器,周一到周五12-14点每两分钟检测服务是否在启动,若不在启动,把它启动

       crontab -e */2 12-14 * 3-6,9-12 1-5 命令

 (3)、书写注意事项

       -这些项都不能为空,必须填入

       -如果用户不需要指定其中的几项,那么可以使用统配符*表示任何时间

       -每个时间字段都可以指定多个值,它们之间用逗号间隔

       -命令应该给出绝对路径

       -用户必须具有运行所对应的命令或程序的权限

       -注意启动crontab  /etc/rc.d/init.d/crond start

       -创建的计划任务文件在 /var/spool/cron目录下

 (4)、crontab配置文件 /etc/crontab  :限制哪些用户可以使用crontab命令

       -/etc/cron.allow

       -/etc/cron.deny

四、进程处理方式

       standalone 独立运行

       xinetd 进程托管

       atd、crond 计划任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值