日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中作业控制命令

發(fā)布時間:2023/12/4 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中作业控制命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開門見山,最近.NET勸退師要在linux上寫些長時間運行的腳本,獲取Azure BlobStorage存儲的數(shù)據(jù)。
記錄一下Linux中后臺執(zhí)行作業(yè)的命令。

Linux作業(yè)

作業(yè)(Job)是shell管理的進程(每個job都有一個關(guān)聯(lián)的PID),每個作業(yè)會被分配一個線性job ID。
有兩種形式的作業(yè):

  • Foreground: 當(dāng)你在終端窗口輸入命令,這個命令將會占據(jù)終端窗口,直到命令執(zhí)行完成, 這是一個前臺Job

  • Background: 當(dāng)你在命令后面添加& 符號,命令將不會占據(jù)終端窗口(你可在shell prompt繼續(xù)輸入),這是一個后臺Job

  • Linux作業(yè)控制命令

    使用作業(yè)控制命令,您可以在Shell中運行和管理多個作業(yè)。但是你只能在啟動作業(yè)的Shell中使用作業(yè)控制命令

    命令描述
    jobs列出所有的Job, 后面可接參數(shù)進行過濾
    bg %n將當(dāng)前/指定Job放置到后臺運行
    fg %n將當(dāng)前/指定Job帶到前臺運行

    另外還有一些與作業(yè)有關(guān)的快速操作:

  • & :讓命令或者腳本在后臺運行

  • Ctrl+Z:中斷前臺作業(yè),并放置在后臺

  • Ctrl+C:終止當(dāng)前前臺作業(yè)

  • nohup:即使關(guān)閉終端也會執(zhí)行(一般搭配上面的&)

  • 在后臺運行作業(yè)

    在原命令的最后加上 &,可讓這個作業(yè)在后臺運行。下面的例子:在后臺執(zhí)行sleep命令

    $?sleep?100?&? [1]?14488

    shell返回結(jié)果:中括號內(nèi)是job ID, 后面是PID;之后使用jobs命令查看狀態(tài):100s之后這個后臺作業(yè)執(zhí)行完成

    [root@recv-data?recv]#?jobs [1]+??Running?????????????????sleep?100?& .... [root@recv-data?recv]#?jobs [1]+??Done????????????????????sleep?100

    管理作業(yè)

    對于前臺作業(yè),
    執(zhí)行Ctrl+Z可以將前臺作業(yè)中止,并放置在后臺;之后可以使用bg %n命令讓中止的后臺作業(yè)跑起來。

    #?將前臺作業(yè)中止,并放置到后臺 $?sleep?100 ^Z [1]+??Stopped?????????????????sleep?100$?jobs [1]+??Stopped?????????????????sleep?100#?bg命令讓后臺中止的作業(yè)跑起來 $?bg?%?1 [1]+?sleep?100?&

    處于后臺的作業(yè),fg %n切換回前臺執(zhí)行。

    #?下面顯示一個正在運行的后臺作業(yè) $?jobs [1]+??Running?????????????????sleep?100?&#?切換回前臺運行 $?fg?%1 sleep?100“

    眾所周知, Ctrl+C終止當(dāng)前前臺作業(yè),不多說。

    nohup:關(guān)閉終端也執(zhí)行

    很多時候,你是通過ssh登錄到遠(yuǎn)程服務(wù)器,再執(zhí)行Shell腳本或命令,如果你退出了終端(終止遠(yuǎn)程連接),則該進程/命令將被殺死。如果不確定該作業(yè)何時完成,則最好讓該作業(yè)在后臺運行,但是,如果你退出系統(tǒng),該作業(yè)將被Shell停止并終止,當(dāng)進程收到SIGHUP時,如何使作業(yè)在后臺運行?

    這個時候,我們就要使用nohup命令,讓我們長時間運行的Shell腳本或命令在我們退出系統(tǒng)依舊能執(zhí)行(此時一般搭配&后臺執(zhí)行)。

    顧名思義:nohup是用于忽略HUP(掛斷)信號的POSIX命令。

    總結(jié):

    • 只能在初始化作業(yè)的shell里管控作業(yè)

    • fg %n bg %n 切換前后臺作業(yè)

    • nohup & 搭配,幫助長時間后臺運行的作業(yè),在你退出系統(tǒng),依舊可運行

    • 前后端分離,如何在前端項目中動態(tài)插入后端API基地址?(in docker)

    • ASP.NET Core跨平臺技術(shù)內(nèi)幕

    • AspNetCore結(jié)合Redis實踐消息隊列

    • Quartz.net在集群環(huán)境下部署任務(wù)的姿勢

    • 基于docker-compose的Gitlab CI/CD實踐&排坑指南

    總結(jié)

    以上是生活随笔為你收集整理的Linux中作业控制命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。