Linux系统的进程管理

目录

进程的了解

管理进程和作业的shell命令

进程显示命令

作业显示命令

进程操作命令

进程调度命令



进程的了解

1、进程:一个具有独立功能的程序的一次运行过程。进程和程序并不是一 一对应的,一次程序可以包含若干个进程,一个进程可以调用多个程序。

2、作业:正在执行的一个或多个相关进程可以形成一个作业。

3、进程的状态:运行态、就绪态、阻塞态。

4、进程的类型:交互进程、批处理进程、守护进程。

5、子进程:PID        父进程:PPID


管理进程和作业的shell命令

进程显示命令

1、ps命令,静态显示系统进程信息。格式:ps [参数]。参数介绍:

-a:显示终端上的所有进程                      -u:显示进程所有者及其他一些进程信息

-x:显示所有非控制终端的进程信息        -e:显示所有进程(不显示进程状态)

-f:完全显示(全格式)                          -l:以长格式显示进程信息

-w:宽输出                                             -pid:显示由进程ID指定进程信息

2、top命令,动态显示进程信息和CPU、内存的利用率。格式:top [选项] 秒数。默认时5秒刷新一次。例如:执行top,默认5秒刷新一次。


作业显示命令

1、jobs命令,显示当前所有作业。格式:jobs [选项],选项:-p仅显示进程号,-l 同时显示进程号和作业号。        例如:执行jobs,显示当前所有的作业。jobs -p ,仅显示当前所有进程号。


进程操作命令

1、bg命令,将前台作业或进程切换到后台运行,如果没有指定进程号,则将当前作业切换到后台。        格式:bg  [作业编号]   ,例如:bg  1 ,其中1是作业号。

注意:<Ctrl+Z>组合键,将前台程序转入后台停止运行;<Ctrl+C>组合键终止前台程序的运行。[1] + stoped vi file ,+号代表当前作业,-号代表当前作业的后一个作业。

2、fg命令,将后台的作业调入前台运行。格式:fg [作业编号]

3、kill命令,终止正在运行的进程或作业。格式:kill [选项]  PID  ,选项:-9 表示当无选项的命令不能终止进程时,可强行终止指定进程。

4、killall命令,终止指定程序名的所有进程。格式:killall -9 程序名,例如:killall -9 vi,终止所有vi进程。

5、nice命令,指定启动进程的优先级。格式:nice  [-优先级值]  命令,

例如:nice  -5 ftp            //启动ftp程序,其优先级为5.

6、date命令,显示或设定系统日期、时间。格式:date  [MMDDhhmm[CC]YY[.ss]],其中M表示月,D代表日,h代表小时,m分钟,C不代表什么,Y代表年,s代表秒。

例如:date  102019302021.59       //表示设定系统日期和时间为2021年10月20号19点30分59秒。

7、id命令,显示当前用户的详细ID。 -a显示所有ID信息。


进程调度命令

1、at调度,安排系统在指定时间运行程序。格式 :at  [参数] 时间

参数及含义如下。

-d (delete): 删除指定的调度作业。                          -m:任务结束后会发送mail通知用户。

-f文件名(file): 从指定文件中读取执行的命令。        -q [a-z]: 指定使用的队列。

-l (list): 显示等待执行的调度作业。

时间的绝对表示:如    23:59   12/31/2021      或   11:59PM   12/31/2021

时间的相对表示:

now+n minutes     //从现在起向后n分钟     ;   now+n days        //从现在起向后n天

now+n hours        //从现在起向后n小时      ;   now+n wecks      //从现在起向后n周

例如:at +1  minutes  ,一分钟后执行at调度

*******************************************************************

例子:at  11:00        //当天11点

at>mkdir  /abc           //在根目录下创建abc目录

at>[EOF]                  //ctrl+d结束作业

*******************************************************************

2、atq命令,显示at等待队列的作业信息

3、atrm命令,删除at等待队列中的作业。例如:atrm 1        //删除at等待队列中序号为1的作业

4、batch调度命令,功能几乎和at命令相同,用法和at命令相同。一般用在对时间要求不高,占用系统资源较多的工作。格式:batch [选项] [时间]

        通过/etc/at.deny和/etc/at.allow文件,可以控制执行at命令的用户,at.deny 存放禁止执行at命令用户名; at.allow存放允许执行at命令的用户名。

例如:禁止user1用户执行at命令安排的调度任务:

[root@localhost~ ]#vi /etc/at.deny         

 //向文件中添加如下内容//

   user1

注意:at和batch调度中的命令只执行一次。


5、cron调度,可以周期性的执行调度中的命令。

关系

cron调度与cron进程、crontab命令和crontab配置文件有关。

cron调度与cron进程:cron进程每隔一分钟,检查/var/spool/cron目录下用户提交调度任务(cron调度)。

crontab命令把crontab文件放在/var/spool/cron目录下。

****************************************************************************************

参数

crontab命令,功能:维护用户的crontab配置文件。

格式: crontab [参数]  文件名

参数说明如下。

●-u用户名:指定具体用户的cron 文件。        ●-r (erase):删除用户的crontab文件。

●-e (edit):创建并编辑crontab配置文件。        ●-l (list): 显示crontab配置文件内容。


例子

cron 进程:cron进程在系统启动时自动启动,并一直运行于后台。cron 进程负责检测crontab配置文件,并按照其设置内容,定期重复执行指定的cron调度工作。

例如:要求root用户在每周二、四、六早上3点启动系统。

(1)建立crontab文件(即crontab配置文件)

vi root.cron        //以 rooy用户登录

输入的格式: 分 时 日 月  星期  要运行的程序

(2)运行crontab文件

[root@localhost~ ]# crontab root.cron     //crontab命令提交的调度任务存放/var/spool/cron目录中

注意:crontab命令提交的调度任务存放/var/spool/cron目录中,并且以提交的用户名称命名,等待crond进程来调度cron调度执行。


cront调度步骤汇总:

1、先创建crontab配置文件,如:vi root.cron,其中root表示root用户。

2、运行crontab命令,如:crontab  root.cron ,提交调度任务(即用户名称的crontab文件)到/var/spool/cron目录

这样就完成了cran调度设置,只需等待cran进程检测crontab文件,并按设定内容,定期执行cron调度工作。

crontab -r 删除cron调度        crontab -l  显示cron调度内容


关机init   0haltpoweroffshutdown  -h
重启init  6shutdown  -f(关机时,不检查检查)shutdown  -r(重启,检查磁盘)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值