一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux后臺(tái)進(jìn)程管理詳解

馬哥Linux運(yùn)維 ? 來(lái)源:博客園 ? 2025-04-25 11:04 ? 次閱讀

概念

當(dāng)我們?cè)诮K端或控制臺(tái)工作時(shí),可能不希望由于運(yùn)行一個(gè)作業(yè)而占住了屏幕,因?yàn)榭赡苓€有更重要的事情要做,比如閱讀電子郵件。對(duì)于密集訪問磁盤的進(jìn)程,我們更希望它能夠在每天的非負(fù)荷高峰時(shí)間段運(yùn)行(例如凌晨)。為了使這些進(jìn)程能夠在后臺(tái)運(yùn)行,也就是說不在終端屏幕上運(yùn)行,有幾種選擇方法可供使用。

&方法

使用[shell] &可以使進(jìn)程在后臺(tái)運(yùn)行,但是用戶終端退出時(shí),進(jìn)程結(jié)束,也就是當(dāng)你連接的終端斷開時(shí),你后臺(tái)運(yùn)行的服務(wù)、命令等自動(dòng)停止
例如:

|  |   |
| --- |---|
||# ping www.baidu.com的返回信息會(huì)輸出到ping.log日志文件中,最后輸出的jobnumber和PID |
|| root@master-01:~# ping www.baidu.com &>> ping.log & |
|| [1]1254658|
|   ||
||# 查看運(yùn)行進(jìn)程 |
|| root@master-01:~# jobs |
|| [1]+ Running        ping www.baidu.com &>> ping.log & |
|   |root@master-01:~# ps -aux | grep ping |
|   |root   1254658 0.0 0.0  9048 1344 pts/0  S  19:10  0:00 ping www.baidu.com|
||   |
|   ||
||# 結(jié)束job,使用kill %jobid方式殺死job |
|| root@master-01:~# kill %1 |

nohup方法,推薦使用!??!

使用&命令后,作業(yè)被提交到后臺(tái)運(yùn)行,當(dāng)前控制臺(tái)沒有被占用,但是當(dāng)前控制臺(tái)關(guān)閉后,作業(yè)就會(huì)停止運(yùn)行。nohup命令可以在你退出帳戶之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。nohup就是不掛起的意思( no hang up / ignoring hangup signals) 即 忽略掛起信號(hào)一直在后臺(tái)執(zhí)行。

語(yǔ)法:

|   |   |
| --- | --- |
|   | nohup Command[ Arg … ][& ]|

示例:

|  |   |
| --- |---|
||# 后臺(tái)運(yùn)行ping 作業(yè),作業(yè)會(huì)將信息默認(rèn)輸出到當(dāng)前目前下的nohup.out文件中 |
|| root@master-01:~# nohup ping www.baidu.com & |
|| [1]1266070|
|   |root@master-01:~# nohup: ignoring inputandappending output to 'nohup.out'|
||# 這里要按一下回車 |
||   |
|   ||
||# 查看作業(yè) |
|| root@master-01:~# jobs |
|| [1]+ Running        nohup ping www.baidu.com & |
|   ||
||# 查看nohup.out文件 |
|| root@master-01:~# ll nohup.out |
|| -rw-------1root root1745Apr2119:23nohup.out |
|   ||
||# 殺死作業(yè) |
|| root@master-01:~# kill %1 |
||   |
|   |# 查看作業(yè)是否退出|
|| root@master-01:~# jobs |
|| [1]+ Terminated       nohup ping www.baidu.com |
|   |  |

nohup將信息輸出到指定文件

語(yǔ)法:

|   |   |
| --- | --- |
|   |nohupcommand>> myout.file 2>&1 & |

解析:

? command>>out.file是將command的輸出重定向到out.file文件,即輸出內(nèi)容不打印到屏幕上,而是追加輸出到out.file文件中。

? 2>&1 是將標(biāo)準(zhǔn)出錯(cuò) 重定向到標(biāo)準(zhǔn)輸出,這里的標(biāo)準(zhǔn)輸出已經(jīng)重定向到了out.file文件,即將標(biāo)準(zhǔn)出錯(cuò)也輸出到out.file文件中。最后一個(gè)&, 是讓該命令在后臺(tái)執(zhí)行。

示例:

|   |   |
| --- | --- |
|   |# ping命令輸出到ping.log日志文件中 |
|   | root@master-01:~# nohup ping www.baidu.com >> ping.log 2>&1 & |
|   | [1]1270295|
|   |   |
|   |# 查看ping.log文件 |
|   | root@master-01:~# tail -f ping.log |
|   |64bytes from182.61.200.110(182.61.200.110): icmp_seq=1ttl=48time=6.03ms |
|   |64bytes from182.61.200.110(182.61.200.110): icmp_seq=2ttl=48time=5.99ms |
|   |64bytes from182.61.200.110(182.61.200.110): icmp_seq=3ttl=48time=6.01ms |
|   |64bytes from182.61.200.110(182.61.200.110): icmp_seq=4ttl=48time=6.01ms |
|   |64bytes from182.61.200.110(182.61.200.110): icmp_seq=5ttl=48time=6.00ms |
|   |   |
|   |# 殺掉作業(yè)進(jìn)程 |
|   | root@master-01:~# jobs |
|   | [1]+ Running         nohup ping www.baidu.com >> ping.log2>&1& |
|   | root@master-01:~# kill %1 |
|   | root@master-01:~# jobs |
|   | [1]+ Terminated       nohup ping www.baidu.com >> ping.log2>&1|

前后臺(tái)進(jìn)程的切換和控制

CTRL+Z鍵盤組合鍵可以使一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且處于暫停狀態(tài)
bg可以將一個(gè)后臺(tái)運(yùn)行的命令變成在后臺(tái)運(yùn)行,如果后臺(tái)有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出運(yùn)行
fg可以將后臺(tái)的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行,如果后臺(tái)有多個(gè)命令,可以用fg %jobnumber將選中的命令調(diào)出

06436922-2028-11f0-9310-92fbcf53809c.png

image

screen方式

Screen是一個(gè)全屏窗口管理器,它在多個(gè)進(jìn)程(通常是交互式shell)之間多路傳輸物理終端。

安裝screen

|   |  |
|---| --- |
|   |# centos安裝screen |
|   |yuminstall-yscreen|
|  |   |
|   |# 在Ubuntu上安裝并使用screen |
|   |sudo apt update -y # 更新包列表 |
|   |sudo aptinstallscreen-y# 安裝screen工具 |

使用方式

|   |   |
| --- | --- |
|   |# 創(chuàng)建一個(gè)新的窗口 |
|   | screen -Stest|
|   |   |
|   |# 進(jìn)入窗口后 執(zhí)行文件 |
|   | python test.py |
|   |   |
|   |# 退出當(dāng)前窗口 |
|   | ctrl+a+d  (方法1:保留當(dāng)前窗口) |
|   | screen -d (方法2:保留當(dāng)前窗口) |
|   |exit   (方法3:退出程序,并關(guān)閉窗口) |
|   |   |
|   |# 查看窗口 |
|   | screen -ls|
|   |   |
|   |# 重新連接窗口 |
|   | screen -rid或窗口名稱 |

相關(guān)快捷鍵

|   |   |
| --- | --- |
|   | Ctrl+ac :創(chuàng)建窗口 |
|   | Ctrl+aw :窗口列表 |
|   |   |
|   | Ctrl+an :下一個(gè)窗口 |
|   | Ctrl+ap:上一個(gè)窗口 |
|   |   |
|   | Ctrl+a0-9:在第0個(gè)窗口和第9個(gè)窗口之間切換 |
|   |   |
|   | Ctrl+aK(大寫) :關(guān)閉當(dāng)前窗口,并且切換到下一個(gè)窗口 |
|   | (當(dāng)退出最后一個(gè)窗口時(shí),該終端自動(dòng)終止,并且退回到原始shell狀態(tài)) |
|   |   |
|   | exit :關(guān)閉當(dāng)前窗口,并且切換到下一個(gè)窗口 |
|   | (當(dāng)退出最后一個(gè)窗口時(shí),該終端自動(dòng)終止,并且退回到原始shell狀態(tài)) |
|   |   |
|   | Ctrl+ad :退出當(dāng)前終端,返回加載screen前的shell命令狀態(tài) |

鏈接:https://www.cnblogs.com/huangSir-devops/p/18839251

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11420

    瀏覽量

    212319
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    371

    瀏覽量

    23822
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    206

    瀏覽量

    14180

原文標(biāo)題:徹底掌握Linux后臺(tái)進(jìn)程管理:提升服務(wù)器穩(wěn)定性的實(shí)戰(zhàn)技巧

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux的內(nèi)存管理是什么,Linux的內(nèi)存管理詳解

    Linux的內(nèi)存管理 Linux的內(nèi)存管理是一個(gè)非常復(fù)雜的過程,主要分成兩個(gè)大的部分:內(nèi)核的內(nèi)存管理進(jìn)
    的頭像 發(fā)表于 05-11 17:54 ?6363次閱讀
    <b class='flag-5'>Linux</b>的內(nèi)存<b class='flag-5'>管理</b>是什么,<b class='flag-5'>Linux</b>的內(nèi)存<b class='flag-5'>管理</b><b class='flag-5'>詳解</b>

    Linux開發(fā)_Linux進(jìn)程編程

    介紹Linux進(jìn)程概念、進(jìn)程信號(hào)捕獲、進(jìn)程管理相關(guān)的命令的使用等知識(shí)點(diǎn)。
    的頭像 發(fā)表于 09-17 15:38 ?1550次閱讀
    <b class='flag-5'>Linux</b>開發(fā)_<b class='flag-5'>Linux</b>下<b class='flag-5'>進(jìn)程</b>編程

    Linux使用Systemd管理進(jìn)程服務(wù)

    今天浩道跟大家分享linux運(yùn)維中大家很少用到的一個(gè)硬核干貨,使用 Systemd 管理進(jìn)程服務(wù)。讓你體驗(yàn)一下該技巧帶來(lái)的便捷性!
    發(fā)表于 12-12 09:02 ?563次閱讀

    Linux內(nèi)核進(jìn)程管理與調(diào)度:策略優(yōu)化與實(shí)踐分析

    今天給大家上點(diǎn)硬貨,關(guān)于Linux進(jìn)程管理和調(diào)度是學(xué)習(xí)和理解Linux的必學(xué)知識(shí)。為協(xié)調(diào)多個(gè)進(jìn)程 "同時(shí)" 運(yùn)行,現(xiàn)代操作系統(tǒng)通常使用
    發(fā)表于 05-08 09:42 ?1272次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核<b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>與調(diào)度:策略優(yōu)化與實(shí)踐分析

    詳解linux進(jìn)程管理

    進(jìn)程需要了解 進(jìn)程,父進(jìn)程,進(jìn)程組,會(huì)話和控制終端的相關(guān)概念。進(jìn)程和父進(jìn)程:每個(gè)
    發(fā)表于 08-07 08:28

    Linux進(jìn)程管理

    Linux進(jìn)程管理
    發(fā)表于 05-20 10:53

    LINUX下的進(jìn)程管理問題如何解決

    基于LINUX下的進(jìn)程管理問題
    發(fā)表于 05-20 07:58

    linux系統(tǒng)進(jìn)程存在狀態(tài)及管理

    linux系統(tǒng)進(jìn)程存在狀態(tài)及管理詳解
    發(fā)表于 05-21 06:28

    Linux進(jìn)程管理工具之Supervisor

    Linux進(jìn)程管理工具Supervisor
    發(fā)表于 06-12 10:58

    Linux進(jìn)程管理

    Linux進(jìn)程管理 本章主要介紹進(jìn)程的概念、狀態(tài)、構(gòu)成以及Linux進(jìn)程的相關(guān)知識(shí)。 掌握
    發(fā)表于 04-28 14:57 ?0次下載

    Linux守護(hù)進(jìn)程詳解

    分享到:標(biāo)簽:進(jìn)程控制 Linux 守護(hù)進(jìn)程進(jìn)程 7.3 Linux守護(hù)進(jìn)程 7.3.1 守
    發(fā)表于 10-18 14:24 ?0次下載
    <b class='flag-5'>Linux</b>守護(hù)<b class='flag-5'>進(jìn)程</b><b class='flag-5'>詳解</b>

    基于Linux進(jìn)程管理的詳細(xì)剖析

    上一篇,我們講到了Linux內(nèi)核開發(fā)和應(yīng)用程序開發(fā),今天我們來(lái)講講Linux重點(diǎn)部分Linux進(jìn)程管理。
    的頭像 發(fā)表于 01-26 11:24 ?3867次閱讀
    基于<b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>的詳細(xì)剖析

    Linux進(jìn)程管理:什么是進(jìn)程?進(jìn)程的生命周期

    所有運(yùn)行在Linux操作系統(tǒng)中的進(jìn)程都被task_struct結(jié)構(gòu)管理,該結(jié)構(gòu)同時(shí)被叫作進(jìn)程描述。一個(gè)進(jìn)程描述包含一個(gè)運(yùn)行
    的頭像 發(fā)表于 02-15 14:29 ?8278次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>:什么是<b class='flag-5'>進(jìn)程</b>?<b class='flag-5'>進(jìn)程</b>的生命周期

    學(xué)會(huì)Linux進(jìn)程管理的方法

    Linux 是一種動(dòng)態(tài)系統(tǒng),能夠適應(yīng)不斷變化的計(jì)算需求。Linux 計(jì)算需求的表現(xiàn)是以進(jìn)程 的通用抽象為中心的。進(jìn)程可以是短期的(從命令行執(zhí)行的一個(gè)命令),也可以是長(zhǎng)期的(一種網(wǎng)絡(luò)服務(wù)
    發(fā)表于 05-16 17:19 ?825次閱讀
    學(xué)會(huì)<b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>的方法

    Linux系統(tǒng)進(jìn)程管理入門指南

    Linux 系統(tǒng)中,進(jìn)程是正在運(yùn)行的程序的實(shí)例。理解進(jìn)程管理、查看和控制對(duì)于系統(tǒng)管理員和開發(fā)者來(lái)說非常重要
    的頭像 發(fā)表于 04-22 14:34 ?170次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>入門指南