您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux怎么將任務進行前后臺切換”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Linux怎么將任務進行前后臺切換”文章能幫助大家解決問題。
Linux 是一個多任務的操作系統, 在同一時間,系統可以運行多個任務。
當我們使用Node或者Flask運行一個進程時, 該進程會占用終端。
例如:
# python cutword.py
* Serving Flask app 'cutword' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://10.150.39.18:7776/ (Press CTRL+C to quit)
我們可以在命令后加上 & 符號,將進程切換到后臺。
例如:
# nohup python cutword.py >/dev/null 2>&1 &
[1] 30979
nohup
的用途是不掛斷地運行命令。
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。
如果讓程序始終在后臺執行,即使關閉當前的終端也執行(&
做不到),這時候需要nohup
。該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。
>/dev/null 2>&1
是將標準輸出和錯誤輸出都忽略。
最后的&
將進程在后臺運行。
[1] 30979
分別表示后臺任務編號和進程ID。
我們可以使用jobs
命令查看在后臺運行的進程列表信息。
# jobs
[1]+ 運行中 nohup python cutword.py > /dev/null 2>&1 &
當終端關閉后,在另一個終端jobs是無法看到后臺任務列表的,此時利用ps(進程查看命令)
# ps -aux | grep "cutword.py"
我們可以使用 fg %后臺編號
將指定進程切回前臺運行。
# fg %1
nohup python cutword.py > /dev/null 2>&1
我們會發現,這時程序會一直卡在終端。這時,我們可以使用 ctrl+z
將它再次切到后臺運行。
# fg %1
nohup python cutword.py > /dev/null 2>&1
^Z
[1]+ 已停止 nohup python cutword.py > /dev/null 2>&1
但是,我們會發現,進程變成了 stopped 的狀態,我們也可以在后臺進程列表里看到它的狀態。
這也是 ctrl+z
命令的特點:將進程切換到后臺,并停止運行。
如果我們想讓它恢復運行,我們就可以使用 bg
命令了。
# bg %1
[1]+ nohup python cutword.py > /dev/null 2>&1 &
如果我們想殺死某個后臺進程,我們可以使用 kill
命令。
kill 命令的用法有兩種:
kill pid
kill %N
例如,我們想殺死后臺編號為1的進程,可以這樣:
# kill %1
# jobs
[1]+ 已終止 nohup python cutword.py > /dev/null 2>&1
關于“Linux怎么將任務進行前后臺切換”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。