进程管理命令

什么是进程?(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:所执行的指令

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

[[email protected] ~]# ps -ef
在这里插入图片描述

[[email protected] ~]# ps -axu
在这里插入图片描述

[[email protected] ~]# 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
    
    [[email protected] ~]#crontab -e
    进去添加
    * * * * * ll        (使用wq保存退出)
     [[email protected] ~]#systemctl enable crond    开机自启
     [[email protected] ~]#systemctl start crond    启动服务

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

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

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

版权声明:本文为GF_1205原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GF_1205/article/details/87896360

智能推荐

双路快速排序法

快速排序法的优化——双路快速排序 上一节我们自己动手写的一个快速排序的算法,在随机数测试中表现得非常好,然而,我们在用高度有序的数组进行测试的时候,发现快速排序的效率变得异常的低下,比归并排序的效率低得多了,近似退回了O(n^2)的复杂度,这是为什么呢?首先让我们来分析一下归并排序的算法思想,归并排序之所以能够达到O(logn)的复杂度,多亏了递归,递归使得把数组不断的二分...

android问题记录

Error: Cannot fit requested classes in a single dex file (# methods: 80441 > 65536) 解决办法: gradle文件的defaultConfig默认配置里面增加...

ROS机器人Diego 1# 利用人工智能 风格迁移技术拍摄不同画风的视频

风格迁移,就是将一种图片的风格迁移到其他图片上,改变其他图片的风格,很好玩的一个人工自能模型,github上已经有很多实现的方法,本文参考https://github.com/hzy46/fast-neural-style-tensorflow 的算法,利用Diego1#的平台实现实时视频的风格转换,先上两张图看效果: 是不是很酷呢,其实实现方法和上篇博文中的原理是一样的,只是把人工智能的算法包装...

数据分析学习总结笔记17:文本分析入门案例实战

文章目录 1 数据准备 2 分词 3 统计词频 4 词云 5 提取特征 6 用sklearn进行训练 1 数据准备 数据样例如下, 数据总量为7.7万+: 本节通过一个实战的例子来展示文本分析的最简单流程。首先设定因变量为原始数据中的"评分"。自变量是"评价内容",这里根据评价内容提取TF-IDF特征。之后,通过评价内容的特征建模预测下整体评分。 以上只是最...

猜你喜欢

LeetCode 150. 逆波兰表达式求值

题目描述 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。 换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:[“2”, “1”, “+”, “3&r...

并查集原理及应用

并查集 树形的数据结构,每个集合有其代表节点,代表节点相同的元素属于同一集合。 find:通过查找节点的代表节点,判断节点所属集合。 union:合并两集合,小集合合并到大集合,使用大集合的代表节点。 在find的递归过程中,让路过节点的父节点直接赋值为代表节点,节省下次查找时间,如图所示。 计算岛的个数 遍历二维数组,遇到1时就将所相连的1都改为2,看看遇到多少次1,就是岛的数量。改数时使用回溯...

linux nutch1.0安装配置

1,下载nutch1.0 下载地址:http://archive.apache.org/dist/nutch/,下载这个文件nutch-1.0.tar.gz   2,上传到服务器 上传位置:/home/www/,解压nutch-1.0.tar.gz #tar -xvf nutch-1.0.tar.gz 重命名 #mv nutch-1.0 nutch   3,修改配置文...

如何搭建自己的博客?附加美化

如何搭建自己的blog?附加美化 前言: 之前在腾讯云以学生优惠租了一年的服务器,还买了一年的域名,忽然觉得不能闲置着域名,所以搭建了个博客,过程也遇到了很多的问题,望在此阐述,予以他人帮助,祝好~ 准备工作:使用Xshell连接上Linux服务器,我的是centos系统,方便进行操作。使用Xftp连接上Linux服务器,方便传输文件。 安装apache服务器:yum install httpd ...

rabbitmq五种模式详解(含实现代码)

1.简单模式 当生产端发送消息到交换机,交换机根据消息属性发送到队列,消费者监听绑定队列实现消息的接收和消费逻辑编写.简单模式下,强调的一个队列queue只被一个消费者监听消费. 1.1 结构   生产者:生成消息,发送到交换机 交换机:根据消息属性,将消息发送给队列 消费者:监听这个队列,发现消息后,获取消息执行消费逻辑 1.2应用场景 常见的应用场景就是一发,一接的结构 例如: 手机...