[oeasy]python0031_掛起進程_恢復進程_進程切換
查看進程
回憶上次內(nèi)容
上次修改了
$PATH
路徑添加到
$PATH
中把當前用戶shiyanlou的宿主文件夾
~
這樣
sleep.py
就可以被找到于是就可以被執(zhí)行了
還可以把配置
$PATH
的腳本設置
zsh
環(huán)境下默認的$PATH
放到
zsh
的配置文件(~/.zshrc
) 中配置
~/.zshrc
就可以在當前路徑運行
sleep.py
從硬盤調(diào)用到內(nèi)存
不斷輸出時間
成為一個進程
ctrl+c結(jié)束進程
聲明打開方式為 python3
在
python
程序第 1 行把
/usr/bin/python3

我想看到
python3
這個進程可能嗎???
進行搜索
如果我想查看進程
也需要運行相應的進程查看命令
ps
但是如果
sleep.py
持續(xù)輸出時間我是沒有辦法運行
ps
命令的

我需要把
sleep.py
轉(zhuǎn)到后臺運行然后查詢進程信息
切到后臺
切換的方法比較簡單
把
當前進程
從前臺
切換到
后臺
并暫停ctrl+z
簡單來說就是不給他用cpu了
suspended(掛起了)

可以把后臺進程切換回前臺嗎?
前后臺切換
所謂把
進程
切換到后臺
可以繼續(xù)輸入命令了
sleep.py這個進程從前臺切換到后臺并暫停
就是停止不斷把時間輸出到標準輸出流
而且把控制權(quán)交回給shell
那能否反過來?
把進程從
后臺
(background)切換到
前臺
(foreground)呢?

fg
怎么理解fg呢?
fg
foreground的意思就是
離觀察者更近的前景

fore的意思是前面的
before 在前面的
first 最前面的第一個
former 曾經(jīng)的
forth 向前
forward 向前進
far 前進的太多了就遠了
further 比遠還要進一步的
象聲詞
詞根來自*per
*per
象聲詞
來自于投擲

pro-詞根
prohibit = pro + forbid 事先禁止
provide = pro + view 事先看過
promise = pro + mission 事前承諾使命
promote 促進
profit 利潤
project 投影
process 步驟、進展
在計算機中
process也指進程
內(nèi)存里面的一段空間
foreground
f
oreg
round(前臺)fg
命令把后臺
進程放回前臺
把掛起的進程重新又放到前臺
cpu又可以給這個進程用了

但是這個我怎么知道他到后臺是否暫停了呢?
掛起
將show_time.py掛起后
重新編輯show_time.py
每行輸出一個數(shù)字
數(shù)字自增
#!/usr/bin/pythoni = 0import timewhile True: ? ?i = i + 1 ? ?print(i, "===", time.asctime()) ? ?time.sleep(1)
保存并退出
恢復剛才放到后臺并暫停的show_time.py

沒有在前面加上標號數(shù)字
這是為什么呢???
明明已經(jīng)保存修改了呀???
進程
因為我們啟動 python3 show_time.py 的時候
始終還是原來調(diào)用時的樣子
也就是修改前的樣子
要輸出數(shù)字編號
放入內(nèi)存的時候
是在修改之前
從硬盤讀取 show_time.py
還沒有被修改成
這個進程在內(nèi)存中
我們在硬盤上文件的修改
對已經(jīng)運行了的進程不起作用
那怎么辦?
重啟進程
先將進程放回前臺
再ctrl+c
結(jié)束這個進程

最后重新運行
python3 show_time.py
這樣硬盤中修改了的python文件
就會被作為新進程重新載入內(nèi)存
新修改就生效了
這個ctrl+z
真的會暫停進程嗎?
暫停
運行程序后
掛起進程
等待一段時間
恢復進程

還是從5開始
沒有在后面偷偷跑
如果我就想讓這個進程
在后臺偷偷跑呢?
bg
先ctrl+z掛起進程
然后運行 bg

程序繼續(xù)跑起來
而且不斷輸出到標準輸出流
甚至連ctrl+c都無法結(jié)束進程了
這可怎么辦呢?
總結(jié)
進程前后臺切換
ctrl+z把當前進程切換到后臺并暫停
用
fg
可以把進程再切回前臺用
bg
可以讓進程在后臺持續(xù)運行但是問題就是根本停不下來!
process 真的就
不斷pro - pro - pro
或者說foreword - foreword - foreword 跑起來了

我想讓他后臺悄悄跑,可以嗎???
我們下次再說!*
藍橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy