进程管理命令

什么是进程?(process)
在linux系统当中:触发任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一个ID,称为PID,同时根据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。

程序(program):通常为二进制程序,放置在存储媒介中(如硬盘、光盘、软盘、磁带等)

进程(process):程序被触发后,执行者的权限与属性、程序的代码与所需的数据等都会被加载到内存中,操作系统给予这个内存中的单元一个标识符(PID),可以说进程就是一个正在运行中的程序。

1、ps命令
格式:ps [参数]
功能:ps命令主要用于查看系统的进程
常用选项:
-a:显示当前控制终端的进程(包含其他用户的)
-u:显示进程的用户名和启动时间等信息
-w:宽行输出,不截取输出中的命令行
-l:按长格形式显示输出
-x:显示没有控制的终端进程
-e:显示所有的进程
-t n:显示第n个终端进程
其他选项:
-ef:查看系统所有进程
aux:查看系统所有进程
axo [选项]:显示你想看见的输出内容

USER: 进程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行行程的状态:
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不不存在但暂时无法消除
W: 没有足够的记忆体分页可分配 <: 高优先序的行程
N: 低优先序的行行程
L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令

[root@vlnx0079138 ~]# ps -l
在这里插入图片描述
父进程bash——PID1201创建的子进程bash——PID1226,PPID看见它的父进程,CMD:程序名

[root@vlnx0079138 ~]# ps -ef
在这里插入图片描述

[root@vlnx0079138 ~]# ps -axu
在这里插入图片描述

[root@vlnx0079138 ~]# ps axo pid,priority,%mem,command --sort=%mem {%mem(升序) -%mem(降序)}
在这里插入图片描述

2、top命令

格式:top[参数]
功能:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
常用选项:
-l:<时间>:设置间隔时间
-u:<用户名>:指定用户
-p:<进程号>:指定进程
-n:<次数>:循环显示的次数
在这里插入图片描述

第一行:表示项目依次为当前时间、系统运行时间、当前系统登录用户数目、1/5/15分钟系统平均负载(一般来说,这个负载值应该不太可能超过1才对,除非您的系统很忙碌。如果持续高于5的话,那么仔细的看看到底是哪个程序在影响整体系统。)

第二行:显示所有启动的进程、目前运行、挂起(Sleeping)的和僵尸(Zombie)的进程。(stop模式:与sleep会主动放弃cpu,而stop是被动放弃cpu,stop(暂停)的进程是无法自己回到运行状态的)

第三行:显示的是目前CPU的使用的情况,包括us用户空间占用CPU百分比、sy内核空间占用CPU百分比、ni用户进程空间内改变过优先级的进程占用CPU百分比(中断处理占用)、id空闲CPU百分比、wa等待输入输出的CPU时间百分比

第四行:显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、 缓冲区占用的内存

第五行:显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存 的大小。

第六行:显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标示号 ( 每个 process 的 ID )
  USER:进程所有者的用户名 ( 该 process 所属的使用者 )
  PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 )
  NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 )
  VIRT:进程占用的虚拟内存值。
  RES:进程占用的物理内存值。
  SHR:进程使用的共享内存值。
  S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
  %CPU:该进程占用的CPU使用率。
  %MEM:该进程占用的物理理内存和总内存的百分比。
  TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 )
  Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行

    ps工具标识进程的5种状态码: 

        D不可中断 uninterruptible sleep (usually IO) 
        R运行runnable (on run queue)
        S中断 sleeping 
        T 停止 traced or stopped 
        Z僵死 a defunct (”zombie”) proce

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
  
<空格>:立刻刷新。
  1:显示CPU
f:标记,按完空格是确定,方向键控制上下,Esc退出
P:根据CPU使用大小进行排序。
  T:根据时间、累计时间排序。
  q:退出top命令。
  m:切换显示内存信息。
  t:切换显示进程和CPU状态信息。
  c:切换显示命令名称和完整命令行。
  M:根据使用内存大小进行排序。
  W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
h:top帮助
  
可以看到,top命令是⼀一个功能十分强大的监控系统的工具,对于系统管理理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

    使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

信号控制进程

3、kill命令

SIGKILL 9 强制关闭
SIGTERM 15 正常关闭

格式:kill [参数][进程号]
功能:发送指定的信号到相应的进程
常用的选线:
    -l:如果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称。
    -a:当处理当前进程时,不限制命令名和进程号的对应关系
    -p:指定kill命令只能打印相关的进程号,而不发送任何信号
    -s:指定发送信号
    -u:指定用户

例如:kill -s SIGTERM PID (先使用ps找到PID,然后使用kill,kill默认是15,正常关闭)
kill -s SIGTERM 4096 正常关闭4096
kill -15 PID
kill -15 4096 /kill -9 4096 (正常关闭4096/强制关闭4096)

4、pkill 命令

格式:pkill [参数][条件]
功能:搜索杀死
常用的选线:
    -p:搜索杀死
例如:pkill -u tony (搜索tony用户的进程将其杀死)

5、at 命令 (安装at包)

格式:at [参数][时间]
功能:在指定时间运行指定的命令(只运行一次)(at编程后按Ctrl+D组合键退出)
常用的选线:
    -f:文件名,从指定文件而非标准输入设备获取将要执行的命令
    -l:显示等待执行的调度作业
    -d:删除指定的调度作业

5、crontab 命令

格式:crontab -e    ;    crontab [-u user] file    ;    crontab [-u user] [-e | -l | -r]
功能:通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上任何组合。这个命令非常适合周期性的日志分析或数据备份等工作。
常用的选线:
    -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般由root用户来运行。
    file:file是命令文件的名字,表示将file作为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)输入的命令,并将他们载入crontab。
    -e:编辑某个用户的crontab文件内容,如果不指定用户,则表示编辑当前用户的crontad文件内容。
    -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
    -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前的用户的crontab文件。
    -i:在删除用户的crontab文件时给出确认的提示。
    
    在配置文件中显示时间表的格式:f1    f2    f3    f4    f5    [命令]
    f1位为分钟;f2位为小时;f3位为一个月的第几天;f4位为月;f5位为本天是周几
    分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令
    
    每隔30分钟root执行一次updatedb命令:
        */30 * * * * root updatedb
        每天早上5点定时重启系统:
         0 5 * * * root reboot


    例如:每1分钟执行执行一次ll
    
    [root@vlnx0079138 ~]#crontab -e
    进去添加
    * * * * * ll        (使用wq保存退出)
     [root@vlnx0079138 ~]#systemctl enable crond    开机自启
     [root@vlnx0079138 ~]#systemctl start crond    启动服务

使用crontab跑定时作业,发现邮箱里面有很多垃圾邮件,想要全部删除可以这样做
yum install mailx -y 安装之后使用mail直接查看邮件 (使用重定向:a、有用的,使用固定文件保存b、无用的,放黑洞里)

使用crontab -e进去在里面补上个MAILTO=’ ’ 就可以不现实邮件了
在这里插入图片描述

crontab -e ||||-e 创建 查使用 man 5 crontonal
出现一个编辑键,每行都可以编写输出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值