• Linux进程管理(-)


    一、进程的类型

             能够将执行在Linux系统中的进程分为三种不同的类型:

                       交互进程:由一个Shell启动的进程。交互进程既能够在前台执行,也能够在后台   执行。

                       批处理进程:不与特定的终端相关联,提交到等待队列中顺序执行的进程。 守护进程:在Linux在启动时初始化,须要时执行于后台的进程。

    二、进程的启动方式

             手工启动

                       前台启动:是手工启动一个进程的最经常使用的方式。一般地,用户键入一个命令“ls  -l”,这就已经启动了一个进程,并且是一个前台的进程。

                       后台启动:直接从后台手工启动一个进程用得比較少一些,除非是该进程甚为耗时, 且用户也不急着须要结果的时候。

                      ls –R / >list &

                      调度启动

             调度启动方式是事先进行设置,依据用户要求让系统自行启动

    三、查看系统中的进程

             1、ps命令

             功能:ps命令是用来显示系统瞬间的进程信息,它能够显示出在用户输入ps命令时系统的进程及进程的相关信息。

                         格式:ps [选项]

                       [root@hostpp]$ ps          显示本账号的进程

                       [root@hostpp]$ ps –aux   查看系统和每位用户所有进程

                       因为ps –aux会列出系统中正在执行的全部进程,因此不易找到特定的进程。若搭 配grep命令,则可事半功倍:[root@host pp]$ ps –aux|grep pp  查找pp的进程

             Ps命令使用说明:

                       经常使用參数:

                                          a:显示全部进程

                                          u:显示较具体的信息

                                          x:显示全部包括其他使用者的进程。

                       使用范例:

                                       ps

                                       ps –au

                                       ps -aux

                                       ps –aux | more

                                      ps –aux | grephttpd

                                      ps –aux >/tmp/ps.log

             2、Top命令监视系统资源使用情况

                      每5秒钟刷新一次,动态显示

                       按下U键:输入username   查看用户进程

                       按下K键:输入PID    删除进程

    四、控制系统中的进程

             1、kill命令和killall命令

             kill命令不但能杀死进程,同一时候也会杀死该进程的全部子进程。

             kill命令的格式是:kill –signalPID

             为什么要杀死进程

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

                               该进程锁住了一个终端,使其它前台进程无法执行

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

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

                               无法正常退出

                      用户也能够用killall命令来杀死进程,在killall命令后面指定的是要杀死的进程的     命令名称,而不是PID

             范例:kill –9927    參数-9:强制杀死

             2、nice命令

                      nice

                             指定程序的执行优先级

                            格式:nice –n command

                            [root@hostroot]# nice - -5 myprogram&

                            在后台以-5的优先级执行myprogram

                          当中n是为进程执行指定的优先级,n的数值越大,进程的优先级越低.n能够取负  值让执行级提高。

             3、renice命令

                       renice

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

                                格式:renice –n pid   是被指定的进程

                                [root@hostroot]# renice - -5  777

                                将正在执行的PID为777的进程优先级改为-5

             4、在后台执行程序的&、bg命令

                      [root@host root]# cp –r /usr/* test&        

                      将/usr文件夹下的全部子文件夹及文件拷贝到/root/test文件夹下的工作放到后台执行

                      [root@host root]# fg    放到前台并显示运行过程

                      按下Ctrl+z键挂起该执行程序

                      [root@host root]# bg   再将运行过程放到后台

                      [root@host root]# jobs       查看被挂起的进程

             5、进程的挂起和恢复

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

                      挂起(Ctrl+Z)

                       终止(Ctrl+C)

                       进程的恢复

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

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

                       查看被挂起的进程(jobs)

             6、自己主动安排进程任务

                      自己主动启动进程的几个命令

                     at 安排作业在某一时刻运行一次

                    batch    安排作业在系统负载不重时运行一次

                   系统负载大于1.5不执行。

                  cron      安排周期性执行的作业

             7、at和batch

                       at命令用来指定在某一时刻运行命令,at命令的格式是:at  [选项]  时间

                      at的配置文件

                          作用:限制哪些用户能够使用at命令

                              /etc/at.allow

                              /etc/at.deny

                       batch命令的使用方法和at类似,仅仅是用户能够不必指定时间,batch会在系统负载小   于1.5的时候执行命令。

             8、应用程序cron

                      Cron进程搜索crontab文件并加载内存 ( crontab文件即/etc/crontab文件和 /var/spool/cron/文件夹下以username命名的文件)

                      cron进程启动以后,它将首先检查是否实用户设置了crontab文件,假设没有就转  入“休眠”状态,释放系统资源

                       cron进程每分钟醒来一次,查看crontab文件决定当前是否有须要运行的命令。命  令运行结束后,不论什么输出都将作为邮件发送给crontab的全部者

            

                       crontab命令的作用及格式

                       作用:用于生成cron进程所须要的crontab文件

                                crontab的命令格式

                                crontab[-u user] file

                                crontab[-u user] {-l|-r|-e}

                             -l 该选项将使在标准输出上显示当前的crontab

                             -r 删除当前的crontab

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

                    当结束编辑离开时,编辑后的文件将自己主动安装

             Crontab文件格式:

                       Minute  Hour Day  Month  DayofWeek Command

                   字段                 所代表的意义          可用范围

                       Minute             每小时的第几分钟执行该程序         0 ~ 59

                       Hour               每一天的第几小时执行该程序      0 ~23

                       Day               每一个月的第几天执行该程序        1 ~ 31

                       Month             每一年的第几个月执行该程序          1 ~  12

                       Dayof Week            每一周的第几天执行该程序            0~ 6

                       Command              指定要执行的程序           输入要执行的命令及參数

                      

             范例:

                       20 4 * * * program

                   指定每天的4点20分运行program命令

                       50 3 9 * * program

                       指定每月的9日3点50分运行program命令

                       1 0 8 9 * program 或

                       1 0 8 sep * program

                       指定每年的9月8日0点1分运行program命令

             9、计划任务创建方法

                       假设须要在每周2、4、6凌晨3点使系统进入维护状态,又一次启动系统,设该文件 名为/root/reboot.cron:

                      1.创建一个crontab

                      # echo “00 03 * * 2,4,6 shutdown –r +10”>/root/reboot.cron

                       2.使用crontab命令安装/root/reboot.cron文件

                       #crontab/root/reboot.cron        安装

                       [root@hostroot]# corntab –e

                       创建root用户的corn文件

                       5514 * * * ls /root        corn内容   

                       [pp@hostpp]$ crontab –e 创建pp用户的corn文件 

                       3018 * * * ll /home/pp                    corn内容

                       [root@hostroot]# crontab –r    删除root的cron

  • 相关阅读:
    14个顶级开发社区 [程序员]
    跟我一起学习VIM
    INTRODUCTION TO BIOINFORMATICS
    vim + ctags + taglist配置和使用
    使用Gitblit 在windows 上部署你的Git Server
    HMM基本原理及其实现(隐马尔科夫模型)
    Qt 所有版本官方下载地址
    如何在ubuntu中安装和配置TeX Live ,Texstudio
    PyCharm和Anaconda的区别与联系
    如何在 matlab 和 excel之间进行数据导入导出操作?
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4371626.html
Copyright © 2020-2023  润新知