对于一个运行中的进程,我们可以使用kill -STOP pid命令将其暂停执行,使用kill -CONT pid命令恢复其运行。

下面用一个实例说明:

1、首先使用tar命令打包/usr目录:

[root@vps /]# tar zcf usr.tar.gz usr/

开启一个新窗口查看其进程状态:

[root@vps ~]# ps aux|grep tar
root 18900 2.7 0.4 2760 1068 pts/1 R+ 09:23 0:00 tar zcf usr.tar.gz usr/

进程处于运行状态(R)

2、使用kill -STOP 命令将该进程暂停:

[root@vps ~]# kill -STOP 18900

再观察其状态:

[root@vps ~]# ps aux|grep tar
root 18900 1.4 0.4 2816 1120 pts/1 T 09:23 0:00 tar zcf usr.tar.gz usr/

此刻进程处于暂停状态了(T)

3、使用kill -CONT恢复进程执行

[root@vps ~]# kill -CONT 18900
[root@vps ~]# ps aux|grep tar
root     18900  1.5  0.4   2816  1128 pts/1    R    09:39   0:00 tar zcf usr.tar.gz usr/

进程恢复运行状态(R)

附:

ps的用法:常用参数
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 操作格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
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:所执行的指令进程STAT状态:D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行,在可中断队列中;
S 处于休眠状态,静止状态;
T 停止或被追踪,暂停执行;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程;
Z 僵尸进程不存在但暂时无法消除;
W: 没有足够的记忆体分页可分配
WCHAN 正在等待的进程资源;
<: 高优先级进程
N: 低优先序进程
L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O),即,有些页被锁进内存s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;

kill 终止进程有十几种控制进程的方法,下面是一些常用的方法:

kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。

SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。

linux暂停一个在运行中的进程相关推荐

  1. Linux 如何快速找到运行中的进程

    通俗的讲程序是一个包含可以执行代码的静态的文件.进程是一个开始执行但是还没有结束的程序的实例.这篇文章给大家介绍Linux 快速找到运行中的进程的方法,小编觉得很有价值,分享给大家 1 进程概述 通俗 ...

  2. 从linux和ucos的比较中来看进程这个概念

    这种问题就要和ucos结合起来嘛. 程序和进程: 程序:存放在磁盘上的一些列代码和数据的可执行映像,是一个静止的实体. 进程:是一个执行中的程序,它是动态的实体. linux进程的四要素: 1. 有一 ...

  3. C#如何得到运行中和杀死运行中的进程?

    C#如何得到运行中和杀死运行中的进程? 得到所有进程且杀死QQ的进程: foreach (System.Diagnostics.Process thisproc in System.Diagnosti ...

  4. linux单cpu进程能并行吗,linux,cpu_如何知道运行多少个进程最有效率?,linux,cpu,并行,parallel-execution - phpStudy...

    如何知道运行多少个进程最有效率? grep 'physical id' /proc/cpuinfo | sort -u | wc -l grep 'core id' /proc/cpuinfo | s ...

  5. 如何暂停一个正在运行的线程?

    今天把小伙伴问懵了,小刚,你知道怎么停止一个线程吗? 这-,这-,stop? 原来平时小刚这小子只知道创建线程,不知道怎么暂停线程呀~[狗头] 停止线程是在多线程开发中很重要的技术点,比如在多线程持续 ...

  6. python如何debug正在运行中的进程

    gunicorn+django开发的系统, 在排查卡住问题的时候,意外发现pstree -p pid(gunicorn的pid), 发现线程数量居高不下,只增不减.导致线程数大量增加.后面遇到卡顿的情 ...

  7. linux下如何在shell中结束进程(ctrl+c\ctrl+z\ctrl+d\ctrl+\的用法)

    ctrl-c:发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序: ctrl-z:发送 SIGTSTP信号给前台进程组中的所有进程,常用于挂起一个进程: ctrl-d:不是发送 ...

  8. linux中的进程以及任务调度

    今天来学习一下有关linux的进程与任务调度的知识. 什么是进程呢,我的理解,进程就是指系统中正在运行的程序.打开任务管理器我们能看到有许多进程,能看到其占用内存,用户名等等.linux中当然也有这个 ...

  9. linux中显示进程,linux中怎么显示所有进程

    Linuxlinux中显示所有进程下使用PS命令结合相关参数可以查看linux当前系统下的所有进程.那么linux中怎么显示所有进程呢?接下来大家跟着学习啦小编一起来了解一下的解决方法吧. linux ...

最新文章

  1. CNN笔记:通俗理解卷积神经网络
  2. 阿里云RDS的mysql数据库占用空间超过90%的处理
  3. 互联网高并发架构设计模式
  4. 1.5 使用new创建动态结构和自动, 静态, 动态三种存储方式
  5. 机器学习笔记 :LSTM 变体 (conv-LSTM、Peephole LSTM、 coupled LSTM、conv-GRU)
  6. Oracle 数据类型及存储方式
  7. 15-description-Objective-C笔记
  8. [转载]Hot Door CADtools (实战篇)
  9. 甲子光年 | 为什么知识图谱终于火了?
  10. 软考信息安全工程师学习笔记汇总
  11. 强大的PHP给图片加水印
  12. mysql数据字典的通俗理解_MySQL关于数据字典的一个疑问
  13. SpringBoot2.x 中配置拦截器
  14. jQuery file upload cropper的 click .preview事件没有绑定成功
  15. 医药电子 | 三轴加速度传感器的类型、原理、特点和应用
  16. iAd框架详细解析 —— ASM
  17. 拉格朗日松弛算法(一)——论文阅读笔记
  18. esp01s改造老旧吸尘器连入天猫精灵语音控制(blinker + 阿里云)
  19. nginx设置域名跳转另一个域名
  20. spring中 @EnableXXX 注解的实现

热门文章

  1. 支持所有库的python手机编程软件_有了这个软件,Python新手可以随时随地用手机练习编程了...
  2. 快速删除电脑不必要的软件(软件管理不能删掉的)
  3. 探索windows虚拟内存
  4. STM32CubeMX配置串口
  5. checkbox的点击事件
  6. 如何去除织梦底部版权信息Power by DedeCms
  7. ART运行时Foreground GC和Background GC切换过程分析
  8. oracle高级—索引
  9. 视频教程-小白学习课程:梯度下降算法与公式详细推导-深度学习
  10. 2021-07-07 Day04 CSS基础第二天