<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【鳥哥 Linux 16】進程管理與SELinux初探

      【鳥哥 Linux 16】進程管理與SELinux初探

      一、相關概念梳理

      • 程序:一些代碼段的靜態集合

      • 進程:程序中靜態代碼段的一次動態執行

      • 子進程:在某一個進程中創建的新作業,從該進程衍生出來的進程稱為子進程

      • 父進程:在bash下執行touch,bash就是父進程,touch就會產生子進程

      二、進程調用的流程:fork & exec

      • 父進程fork產生一個完全一樣的子進程(PID不同,具有PPID),然后通過exec執行程序。

      三、工作管理(job control)

      • bash只能管理屬于自己的子進程的工作。(比如:無法使用工作管理來讓不同tty中的bash相互管理。)

      • 為什么vim不能在后臺運行(run status)呢?因為放入后臺的工作絕對不能涉及用戶交互。

      • 進行工作管理的條件和特點是:

      1. 必須是當前shell的子進程
      2. 必須是可以自動運行的工作
      3. 放入后臺的工作不能涉及到等待輸入
      4. 放入后臺的工作不能用^c終止,但可以用bg查看,使用fg切回。
      

      工作狀態

      • 前臺(foreground)狀態

      • 后臺(background)狀態中的暫停(stopped)狀態,比如vim后臺之后就是這個狀態

      • 后臺狀態中的運行(running)狀態。

      *具體的工作管理方式

      • 通過&

      • ^z的方式將前臺工作放入后臺暫停,默認都會變成暫停(stopped)狀態

      • jobs指令展示后臺狀態


      # 列出后臺進程的同時列出PID
      jobs -l
      # 僅列出run狀態的后臺進程
      jobs -r
      # 僅列出stopped狀態的后臺進程
      jobs -s
      
      • 下面的輸出中,+號代表上一個被放入后臺的程序,-號代表倒數第二個被放入后臺的程序。
      # 以下是截取的jobs輸出
      [1]+  Stopped                 vim test1.txt
      [2]   Stopped                 vim test2.txt
      [3]-  Stopped                 vim test.txt
      

      • fg將后臺工作拉到前臺
      # 將+號進程拉到前臺
      fg
      # 將+號進程拉到前臺
      fg +
      # 將-號進程拉到前臺
      fg -
      # 將3號進程拉到前臺
      fg %3
      
      • bg將程序放入后臺運行,和^z的區別是,放入后臺的狀態是run而不是stopped。
      # 將+號進程放入后臺運行
      bg
      # 將+號進程放入后臺運行
      bg +
      # 將-號進程放入后臺運行
      bg -
      # 將3號進程放入后臺運行
      bg %3
      
      • kill給進程發送多種終止信號
      # 列出所有可用信號
      kill -l
      
      # 重新加載PID為13482的服務進程的配置文件(涉及到十七章系統服務)
      kill -1 13482
      
      # 向PID為13482的進程發送SIGTERM信號(kill -15),正常結束進程
      kill 13482
      
      # 對工作管理中的2號進程執行一次^c
      kill -2 %2
      
      # 對PID為13482的進程發送SIGKILL信號,忽略信號處理函數(用于強制刪除不正常的工作)
      kill -9 13482
      

      *脫機管理的問題(nohup)

      • 上文敘述的后臺管理僅用于避免^c殺死進程的問題。試想如下情景:

      • 當你遠程SSH到一臺服務器使用工作管理將某個程序放入后臺運行,然后你斷開了SSH,放入后臺運行的這個程序依然會結束。原因是某個Bash只能利用工作管理來管理屬于自己的子進程。你SSH登錄的時候分配了一個bash進程,這是你在這次工作中開啟的所有子進程的父進程,一旦你斷開SSH,父進程沒有了,子進程當然也會結束。

      • 解決方法:使用at或者nohup,將這些進程放入系統后臺,與你的SSH終端機進程脫離關聯。

      四、進程管理

      進程觀察

      ps:擷取某個時間點的進程情況(靜態查閱)

      • ps的man page融合了多個發行版,閱讀困難,所以最好是記住幾個常用的。
      # 摘取自ps的man page
      This version of ps accepts several kinds of options:
      
      1   UNIX options, which may be grouped and must be preceded by a dash.
      2   BSD options, which may be grouped and must not be used with a dash.
      3   GNU long options, which are preceded by two dashes.
      
      • 查閱當前bash的進程
      ps -l
      
      • 查閱整個系統的進程
      ps aux
      # 以下是man page中對于該語句的說明
      Note that "ps -aux" is distinct from "ps aux".  The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user
      named "x", as well as printing all processes that would be selected by the -a option.  If the user named "x" does not exist, this ps
      may interpret the command as "ps aux" instead and print a warning.  This behavior is intended to aid in transitioning old scripts and
      habits.  It is fragile, subject to change, and thus should not be relied upon.
      

      待更新

      posted @ 2022-08-17 00:20  LeisureLak  閱讀(40)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成在线人视频免费视频| 性色a∨精品高清在线观看| 最新偷拍一区二区三区| 99久久国产综合精品女图图等你| 色偷偷女人的天堂亚洲网| 亚洲午夜爱爱香蕉片| 亚洲国产成人va在线观看天堂| 亚洲精品日韩久久精品| 人妻有码av中文字幕久久琪| 日本一区二区精品色超碰| 国产亚洲999精品AA片在线爽| 国产性天天综合网| 亚洲精品无码久久一线| 久久av色欲av久久蜜桃网| 99久re热视频这里只有精品6| 人成午夜大片免费视频77777| 亚洲AV无码成H人动漫无遮挡| 绥芬河市| 亚洲精品中文综合第一页| 护士张开腿被奷日出白浆| 亚洲一区二区三区播放| 日本午夜精品一区二区三区电影| 中文字幕久无码免费久久| 国产高清在线不卡一区| 久久一日本综合色鬼综合色 | 久久波多野结衣av| 中文字幕在线精品人妻| 久久精品第九区免费观看| 欧美人与禽2o2o性论交| 国产网红主播精品一区| 久久综合激情网| 好吊视频一区二区三区人妖| 成人性影院| 国产对白老熟女正在播放| 国产中文字幕精品免费| 天堂网国产| 久久精品无码一区二区三区| 亚洲免费观看在线视频| 亚洲中文字幕综合网在线| 亚州中文字幕一区二区| 中国少妇人妻xxxxx|