Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux中暂停进程并稍后恢复它

linux中暂停进程并稍后恢复它

作者头像
入门笔记
发布于 2022-06-02 10:31:03
发布于 2022-06-02 10:31:03
3.5K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

想象一下这个场景。你运行一个程序。但是,你不知道需要多长时间才能完成。该过程会持续运行几分钟。你不能再等太久了,因为其他一些重要的程序正在排队等候。你有没有遇到过这样的情况?不用担心!我刚刚发现了一个简单的技巧来暂停一个进程并稍后在 Linux 中恢复它。

我要做的只是暂停当前正在运行的进程,做一些其他重要的任务,然后在所有其他进程完成后恢复停止的进程。当你有较少的 RAM 或处理器来执行多任务时,这可能非常有用。你可以随时暂停正在运行的进程,并在以后恢复它们,而无需重新启动它们。现在让我们继续学习暂停或暂停正在运行的进程并稍后在 Linux 和类 Unix 操作系统中恢复它。

在 Linux 中暂停进程并稍后恢复它

这绝对是一件容易的事!你所要做的就是找到PID(进程ID)并使用psps aux命令,然后暂停它,最后使用kill命令恢复它。

让我们看一个例子。我将使用以下wget命令下载 Ubuntu 18.04 网络引导映像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso &

在这里,&symbol 会将正在运行的任务(即wget)移动到后台而不关闭它。

现在,我想暂停此任务并运行其他重要任务。为此,首先使用命令查找正在运行的进程:

$ ps -aux | grep wget

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root     10901  0.0  0.0 151020  2524 ?        R    21:42   0:00 wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

如你所见, wget 命令的 PID 是16143

让我们现在停止这个过程。为此,请从终端运行以下命令:

$ kill -STOP 10901

使用命令验证进程是否已停止:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ps -aux | grep wget
root     10901  0.0  0.0 151020  2524 ?        T    21:42   0:00 wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

wget过程已停止(T表示终止)。

继续做其他重要的任务。完成所有任务后,使用命令恢复停止的进程:

$ kill -CONT 10901

要验证进程是否正在运行,请运行ps命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ps -aux | grep wget
root     10901  0.0  0.0 151020  2524 ?        R    21:42   0:00 wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

我们之前停止的过程已经恢复!

就像我已经说过的,如果你不能在 RAM 或 CPU 速度较低的系统中执行多任务,这将很有帮助。

首先,使用 ps 命令找到正在运行的进程的 pid。然后,使用 暂停它kill -STOP <PID>,然后休眠你的系统。恢复你的系统并使用命令恢复停止的进程kill -CONT <PID>

重新启动我的系统后它会工作吗?

重新启动系统后,进程的 PID 会自动更改。它们不会在重新启动后持续存在。在这种情况下,你可以暂停或休眠整个系统,并在准备好时恢复它们。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
kvm 虚拟化安装 Ubuntu 18.04 server
首先要配置好 KVM 环境,上文已经详细说明,磁盘配置类似的使用 qemu-img create -f qcow2 ubuntu.qcow2 100G 命令创建虚拟磁盘,系统镜像可以去官网下载:
宋天伦
2020/07/16
2.5K0
Linux从入门到精通(十)——进程管理
​ 进程就是运行中的程序,一个运行着的程序,可能有多个进程。 比如 LinuxSir.Org 所用的 WWW 服务器是 apache 服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求 httpd 服务,apache 服务器将会创建有多个 httpd 进程来对其进行服务。
传说之下的花儿
2023/04/16
1.4K0
Linux从入门到精通(十)——进程管理
Linux中查看进程、杀死进程、进入进程的命令
1.查看进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。     ps e 列出程序时,显示每个程序所使用的环境变量。     ps f 用ASCII字符显示树状结构,表达程序间的相互关系。     ps -H 显示树状结构,表示程序间的相互关系。     ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。     ps s 采用程序信号的格式显示程序状况。     ps S 列出程序时,包括已中断的子程序资料。     ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。     ps u 以用户为主的格式来显示程序状况。     ps x 显示所有程序,不以终端机来区分。     最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。     ps aux | grep program_filter_word,ps -ef |grep tomcat  ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。  2.杀死进程    使用kill命令结束进程:kill xxx    常用:kill -9 324    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
菲宇
2022/12/02
13.1K0
Hacker基础之Linux篇:基础Linux命令十
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令
用户1631416
2018/07/25
5860
Linux进程管理详细解读
Linux系统为多用户多任务系统 生物软件运行时要能够查看运行状态 实时监控软件运行状态 例如 CPU 内存使用情况等 当运行出现错误时 要能够及时杀死任务 以及任务前后台切换 是否挂起等操作 。
生信喵实验柴
2021/12/15
1K0
Linux进程管理详细解读
Linux—进程管理
当程序运行的时候会由父进程通过fock创建子进程来处理任务;子进程被创建后开始处理任务,当任务处理完毕后就会退出,然后子进程会通知父进程来回收资源;如果子进程处理任务期间,父进程意外终止了,那么这个子进程就变成了僵尸进程。
Alone-林
2022/08/23
5K0
Linux—进程管理
进程管理-Linux每日一练(6)
平时学的是这五种状态新建、就绪、运行、阻塞、终止,但是在Linux里面可以查看到的要更加详细,如下命令的 STAT 列就是展示了状态
机智的程序员小熊
2020/09/17
9750
进程管理-Linux每日一练(6)
如何在 Linux 命令行中终止进程?
如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令“杀死它”。
网络技术联盟站
2022/05/30
7.9K0
如何在 Linux 命令行中终止进程?
Linux系列之进程管理
进程是正在运行的程序,Linux系统通常有数百个进程同时运行。本文就来介绍下Linux是如何进行进程管理的。
chuckQu
2022/09/20
5010
Linux系列之进程管理
【科研利器】进程管理
中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求
自学气象人
2022/11/14
9660
【科研利器】进程管理
linux下杀死某个进程_shell脚本获取进程号并杀死进程
在做项目的时候经常会出现程序死机、锁死、无响应等情况,这时候就需要找到程序相应的进程将其杀掉即可。步骤如下:
全栈程序员站长
2022/11/10
5.7K0
linux下杀死某个进程_shell脚本获取进程号并杀死进程
linux 进程管理
什么是进程?进程(Process)是一个程序在其自身的虚拟地址空间中的一次执行活动。之所以要创建进程,就是为了使多个程序可以并发的执行,从而提高系统的资源利用率和吞吐量。简单来说进程就是一个程序的执行活动。
星哥玩云
2022/09/15
2.3K0
Linux kill, killall, kill -9
1) 查看进程的方法:  ps -ef 或者 ps aux root     15087  0.0  0.0      0     0 ?        S    23:31   0:00 [kwo
阳光岛主
2019/02/19
6.7K0
Docker Ubuntu系统安装
Docker还允许我们在隔离的容器中安装任何操作系统。在下面的例子中,将演示如何在Docker中安装Ubuntu系统。
黑洞代码
2022/01/24
7210
Linux进程管理与资源管理
16.3 进程管理 本章一开始就提到所谓的『进程』的概念,包括进程的触发、子进程与父进程的相关性等等,此外,还有那个『进程的相依性』以及所谓的『殭尸进程』等等需要说明的呢!为什么进程管理这么重要呢?
小柒吃地瓜
2020/04/23
1.4K0
Linux系统的进程管理
进程process是指正在执行的程序;是程序正在运行的一个实例。它由程序指令,和从文件、其它程序中读取的数据或系统用户的输入组成。
江湖有缘
2023/07/27
4400
Linux系统的进程管理
linux常用命令杀死进程_kill杀死进程命令
在做项目的时候经常会出现程序死机、锁死、无响应等情况,这时候就需要找到程序相应的进程将其杀掉即可。步骤如下:
全栈程序员站长
2022/08/02
4.5K0
linux常用命令杀死进程_kill杀死进程命令
实验(十)任务管理、进程管理
其中,while循环的条件是变量 int<=10 ,每次循环都打出变量int的值,然后int的值增加1,随后程序等待1秒,等待结束后再进入下次循环。
esse LL
2023/05/04
1.3K0
Linux中查看进程状态信息
ps -l 列出与本次登录有关的进程信息; ps -aux 查询内存中进程信息; ps -aux | grep *** 查询***进程的详细信息; top 查看内存中进程的动态信息; kill -9 pid 杀死进程。
全栈程序员站长
2022/06/24
11.7K0
Linux中查看进程状态信息
linux中21个中级命令
ifconfig命令用于配置网络接口信息。如配置网络接口的ip地址,默认网关地址等,以便机器能够联通互联网。
猫头虎
2024/04/07
1690
相关推荐
kvm 虚拟化安装 Ubuntu 18.04 server
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验