[oeasy]python0031_挂起进程_恢复进程_进程切换
查看进程
回忆上次内容
上次修改了
$PATH路径把当前用户shiyanlou的宿主文件夹
~- 添加到
$PATH中
- 添加到
- 这样
sleep.py就可以被找到 - 于是就可以被执行了
还可以把配置
$PATH的脚本- 放到
zsh的配置文件(~/.zshrc) 中 配置
~/.zshrc就可以- 设置
zsh环境下默认的$PATH
- 设置
- 放到
在当前路径运行
sleep.py在
python程序第 1 行- 声明打开方式为 python3
把
/usr/bin/python3从硬盘调用到内存
成为一个进程
- 不断输出时间
- ctrl+c结束进程
编辑
我想看到
python3这个进程- 可能吗?
进行搜索
如果我想查看进程
- 也需要运行相应的进程查看命令
ps - 但是如果
sleep.py持续输出时间 - 我是没有办法运行
ps命令的
- 也需要运行相应的进程查看命令
编辑
我需要把
sleep.py转到后台运行- 然后查询进程信息
切到后台
切换的方法比较简单
ctrl + z
- 把
当前进程从前台 - 切换到
后台并暂停
- 把
- 简单来说就是不给他用cpu了
- suspended(挂起了)
编辑
- 可以把后台进程切换回前台吗?
前后台切换
所谓把
进程切换到后台就是停止不断把时间输出到标准输出流
- sleep.py这个进程从前台切换到后台并暂停
而且把控制权交回给shell
- 可以继续输入命令了
那能否反过来?
- 把进程从
后台(background) - 切换到
前台(foreground)呢?
- 把进程从
编辑
fg- 怎么理解fg呢?
fg
foreground的意思就是
- 离观察者更近的前景
编辑
fore的意思是前面的
- before 在前面的
- first 最前面的第一个
- former 曾经的
- forth 向前
- forward 向前进
- far 前进的太多了就远了
- further 比远还要进一步的
- 象声词
- 词根来自*per
*per
象声词
- 来自于投掷
编辑
pro-词根
- prohibit = pro + forbid 事先禁止
- provide = pro + view 事先看过
- promise = pro + mission 事前承诺使命
- promote 促进
- profit 利润
- project 投影
- process 步骤、进展
在计算机中
- process也指进程
- 内存里面的一段空间
foreground
foreground(前台)fg命令把后台进程放回前台- 把挂起的进程重新又放到前台
- cpu又可以给这个进程用了
编辑
- 但是这个我怎么知道他到后台是否暂停了呢?
挂起
将show_time.py挂起后
- 重新编辑show_time.py
- 每行输出一个数字
- 数字自增
#!/usr/bin/python
i = 0
import time
while True:
i = i + 1
print(i, "===", time.asctime())
time.sleep(1)
- 保存并退出
- 恢复刚才放到后台并暂停的show_time.py
编辑
- 没有在前面加上标号数字
- 这是为什么呢?
- 明明已经保存修改了呀?
进程
因为我们启动 python3 show_time.py 的时候
- 是在修改之前
从硬盘读取 show_time.py
- 放入内存的时候
还没有被修改成
- 要输出数字编号
这个进程在内存中
- 始终还是原来调用时的样子
- 也就是修改前的样子
我们在硬盘上文件的修改
- 对已经运行了的进程不起作用
- 那怎么办?
重启进程
先将进程放回前台
- 再ctrl + c
- 结束这个进程
编辑
最后重新运行
- python3 show_time.py
这样硬盘中修改了的python文件
- 就会被作为新进程重新载入内存
- 新修改就生效了
- 这个ctrl + z
- 真的会暂停进程吗?
暂停
运行程序后
- 挂起进程
- 等待一段时间
- 恢复进程
编辑
还是从5开始
- 没有在后面偷偷跑
如果我就想让这个进程
- 在后台偷偷跑呢?
bg
先ctrl + z 挂起进程
- 然后运行 bg
编辑
- 程序继续跑起来
- 而且不断输出到标准输出流
- 甚至连ctrl + c 都无法结束进程了
- 这可怎么办呢?
总结
进程前后台切换
- ctrl + z 把当前进程切换到后台并暂停
- 用
fg可以把进程再切回前台 - 用
bg可以让进程在后台持续运行
- 但是问题就是根本停不下来!
process 真的就
- 不断pro - pro - pro
- 或者说foreword - foreword - foreword 跑起来了
编辑
- 我想让他后台悄悄跑,可以吗?
- 我们下次再说!
- 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
- github->GitHub - overmind1980/oeasy-python-tutorial: 良心的 Python 教程,面向零基础初学者简明易懂的 Python3 入门基础课程。在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。
- gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
- 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy
[oeasy]python0031_挂起进程_恢复进程_进程切换的更多相关文章
- Ring3挂起进程,跟恢复进程.
目录 Ring3挂起进程,跟恢复进程. 一丶简介 二丶代码 Ring3挂起进程,跟恢复进程. 一丶简介 有时候我们做对抗的时候可能会遇到.一个进程常常操作我们.但是我们 可以通过挂起进程来挂起它让它无 ...
- python2.0 s12 day8 _ python线程&python进程
1.进程.与线程区别2.cpu运行原理3.python GIL全局解释器锁4.线程 1.语法 2.join 3.线程锁之Lock\Rlock\信号量 4.将线程变为守护进程 5.Event事件 6.q ...
- 关于Windows文件读写_暗涌_新浪博客
关于Windows文件读写_暗涌_新浪博客 这几天在研究怎么才能加快windows文件读写速度,搜了很多文章,MSDN也看了不少.稍微给大家分享一下. 限制windows文件读写速度的 ...
- python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享
Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...
- 安装_oracle11G_客户端_服务端_链接_oracle
在开始之前呢,有一些注细节需要注意,oracle11G_客户端_和_服务端, 分为两种 一种是 开发者使用 一种是 BDA 自己使用(同时也需要根据自己 PC 的系统来做_win7_与 ...
- Python之进程 3 - 进程池和multiprocess.Poll
一.为什么要有进程池? 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务.那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗 ...
- cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客
cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...
- 杀死Linux中的defunct进程(僵尸进程)的方法指南
杀死Linux中的defunct进程(僵尸进程)的方法指南_LINUX_操作系统_脚本之家https://www.jb51.net/LINUXjishu/457748.html 这样能看到僵尸进程.
- 9-1进程,进程池和socketserver
一 进程: # 什么是进程 : 运行中的程序,计算机中最小的资源分配单位# 程序开始执行就会产生一个主进程# python中主进程里面启动一个进程 —— 子进程# 同时主进程也被称为父进程# 父子进程 ...
- Update(Stage4):Spark原理_运行过程_高级特性
如何判断宽窄依赖: =================================== 6. Spark 底层逻辑 导读 从部署图了解 Spark 部署了什么, 有什么组件运行在集群中 通过对 W ...
随机推荐
- 【WPF】自定义数据集合绑定到UI界面
需要展示列表项,从https://github.com/jdscodelab/File-Manager-UI-Wpf这个项目,只有前端UI. 复用了其文件内容列表 主要源码: <StackP ...
- linux内核参数调优和Linux实例常用内核网络参数介绍与常见问题处理
问题1 并发场景下,常常会出现一个进程最大文件句柄数不足的情况,会报如下错误: 24: Too many open files 解决办法 ulimit -a S:表示软限制,超出设定的值会告警. H ...
- 使用Newtonsoft.Json进行Json与XML相互转换
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析好像没啥难度.今天突然发现Newtonsoft.Json中有关于Json和XML互转的方法,所以顺带记录总结一下. 一.关于Newtons ...
- QuartusII调用 PLL_IP核方法(Mega Wizard)
[基本信息] 要求:调用PLL-IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比). 芯片型号:cyclone Ⅳ EP4 ...
- 使用 Hugging Face 推理终端搭建强大的“语音识别 + 说话人分割 + 投机解码”工作流
Whisper 是当前最先进的开源语音识别模型之一,毫无疑问,也是应用最广泛的模型.如果你想部署 Whisper 模型,Hugging Face 推理终端 能够让你开箱即用地轻松部署任何 Whispe ...
- LeetCode 207. Course Schedule 课程表 (C++/Java)
题目: There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have pr ...
- C#.NET 不可见字符DEL
不可见字符DEL .空格.替换掉. 签名时遇到了客户端发过来的数据包含一个DEL.Notepad++ 里显示为DEL. 包含这个字符签名给上游,就会报错:签名错误. 得想办法replace掉.目前方案 ...
- Java实际工作里用到的几种加密方式
1.Base64加密 最简单的加密方式,甚至可以说不是加密,只是一种用64个字符表示任意二进制数据的方法.Base64编码原理是将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高位补 ...
- 什么Java注释
定义:用于解释说明程序的文字分类: 单行注释:格式: // 注释文字多行注释:格式: /* 注释文字 */ 文档注释:格式:/** 注释文字 */ 作用:在程序中,尤其是复杂的程序中,适当地加入注释可 ...
- 正式开启全站HTTPS加密之旅
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 正式开启全站HTTPS加密之旅 日期:2017-7-14 ...