Linux-进程和计划任务管理

程序和进程的关系

程序:保存在硬盘、光盘等介质中的可执行代码和数据

      静态保存的代码

进程:在CPU及内存中运行的程序代码

      动态执行的代码

PS:父子进程:每个程序可以创建一个或多个进程

查看进程

ps  a  显示当前终端下的所有进程信息

u  显示以用户为主的格式来显示进程信息

x  显示当前用户在所有终端下的进程信息

-e  显示系统内的所有进程信息

-l  使用长格式显示进程信息

-f  使用完整格式显示进程信息

例 :ps aux 

        ps -elf

PID:该进程在系统中的数字ID,在当前系统中是唯一(PPID是PID的父进程),是程序被操作哦加载到内存称为今年初动态分配的字眼,

每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都不同。

PID和PPID都是非零的证书

STAT :显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵化)、< (高优先级)、N(低优先级)、s(父进程)、+(前台进程)

 

查看进程动态信息

top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括cpu、内存等系统资源占用情况,默认每3s刷新一次,

作用类似于Windows 的任务管理器。

top 

 

查看进程信息

 grep -l“XXX”   输出进程名中包含XXX的进程及进程号PID

     -U  aaa    输出由用户aaa进行的进程及进程号pid

     -t  tty   输出tty1 终端上运行的进程及pid号

 例:grep -l -U teacher -t tty1

 

查看进程树

 pstree -aup

     a   完整命令信息

     u  列出对应用户名

     p  列出其对应pid号

进程的启动方式

  手工启动

 前台启动:用户输入命令,直接执行程序

 后台启动:在命令行尾加入“&”符号

[root     ~]cp /dev/cdrom mycd.iso &

[1] 28454

[2]  

 

进程的前后调度

 Ctrl + Z组合键

     将当前进程挂起,即调入后台并停止执行

Jobs命令

      查看处于后台的任务列表

fg 命令:

      将后台进程恢复到前台运行,可指定任务序号

 

终止进程的运行

   Ctrl + C 组合键

     中断正在执行的命令

  

kill 、killall 命令

     kill用于终止指定PID 号的进程

     killall用于终止指定名称的所有进程

     -9 选项  用于强制终止

 

pkill 命令

  根据特定条件终止相应的进程

常用命令选项:

   -U 根据进程所属的用户名终止相应进程

   -t  根据进程所在的终端终止相应的进程

[root     ]# pgrep -l -U “hackli”

 3045 bash

[root     ]# pkill -9 -U “hackli”

[root     ]# pgrep -l -U “hackli”    #未显示进程

 

计划任务管理

 at 命令

      一次性计划任务

 at  [HH:MM]  [yyyy-mm-dd]  时间分钟  年月日

例: [root     ]# date

     Sun  May 7 10:33:13 EDT 2017

[root     ]# at 10:35 2017_05_07

at > pgrep -Uroot |wc -l > /tmp/ps.root

at > <EOF>

Job1 cat sun May 7 10:35

Cat /tmp/ps.root

atq     查询at任务假话

atrm [数字]       删除一次性任务计划

 

Crontab 命令

  安装预先设置的时间周期(分钟,小时,天...)重复执行用户指定的命令操作

 

属于周期性计划任务 

 主要设置文件

全局配置文件,位于文件:/etc/crontab

系统默认的设置,位于目录:/etc/cron.*/

用户定义的设置,位于文件:/var/spool/cron/用户名

 

管理crontab

  Crontab -e   编辑任务计划

  */  代表每间隔的意思      [*/3表示每隔三分钟]

  *   代表任意的意思

  -   代表连续的意思

  ,  代表不连续的间隔

 crontab  -l  查看任务计划

 Crontab  -r  清空任务计划

Linux-进程和计划任务管理

上一篇:linux查看cpu的占用情况


下一篇:进程间通信IPC(InterProcess Communication)