Linux編程--進程

1、基本概念:

  • 進程:是程序動態執行的過程,包括創建、調度、消亡
  • 程序:存放在外存中一段數據的集合
  • 虛擬地址:進程使用的邏輯地址,有操作系統管理,不直接對應物理內存
  • 物理地址:實際內存的硬件地址
  • MMU(內存映射單元):將物理地址映射到虛擬地址

2、進程空間分布

  • 每個進程運行之后,操作系統會為其開辟0 ~ 4 G的虛擬內存空間
  • 進程空間 = 用戶空間 + 內核空間
  • 用戶空間:文本段(文本去)+數據段(數據區)+系統數據段(堆棧)
    • 文本段:存放代碼和指令
    • 數據段:存放字符串常量、全局變量與靜態變量
    • 系統數據段:堆(malloc生擒空間),棧(函數運行與局部變量空間)

3、多個進程存儲與調度

? 1.多個進程的存儲
  • 多個進程在操作系統中存儲時,空間是獨立的(物理地址獨立)
  • 多個進程在操作系統中共用一個虛擬內存空間(虛擬地址是共享的)
? 2.多個進程的調度

? ? ? ? 宏觀并行,微觀串行(CPU 在多個任務中高速切換保障多任務執行)

4、進程相關 Linux 命令

? 1.進程查看指令??

????????top

功能:

????????根據 CPU 占用率和內存占用率查看當前內存的信息

PID:

????????進程 ID 號? ? ?

USER:

????????創建者? ? ?

PR ?NI:

????????優先級? ??

VIRT ? ?RES ? ?SHR S?:

????????資源占用

%CPU %MEM:CPU:

????????和內存占用率? ? ?

TIME+:

? ? ? ? 運行時長

COMMAND :

? ? ? ? 進程命令

????????ps -ef

功能:

????????查看該時刻的所有進程信息(強調父子關系和完整的進程信息)

UID:

????????創建進程的用戶 ? ? ? ?

PID:

????????進程的ID號 ?

PPID:

????????父進程的ID號 ?

C STIME TTY:

????????進程依賴的終端 ? ? ? ?

ps -ef | grep 進程名 查找與進程名對應的進程信息

????????ps -aux

? ? ? ? 查看該時刻所有的進程信息(強調資源占用和進程的狀態)

? 2.后臺執行進程任務
指令功能
進程名 &將進程轉入后臺運行
jobs查看終端下所有后臺執行任務
fg PID編號將后臺執行的任務放到前臺執行
? 3.優先級調整指令

????????nice/renice

示例:nice -n 優先級編號 進程名 ? ?

? ? ? ? ? ?renice -n 優先級編號 進程PID

功能:

?????????改變進程的優先級

優先級范圍:

? ? ? ? ?-20 - 20 數字越小優先級越高

4.進程終止指令

? ? ? ? kill/killall

示例:kill -編號 進程PID ? ?

? ? ? ? ? ?killall -編號 進程名

功能:殺死進程任務

例:kill -9 PID

5、進程的狀態

進程狀態標識含義
就緒態/運行態R進程位于CPU任務調度的隊列中
可喚醒等待態S等待某個資源的到來,資源到來后被喚醒加入調度隊列 等待過程中可以被打斷
不可喚醒等待態D等待某個資源的到來,資源到來后被喚醒加入調度隊列 等待過程中不可以被打斷
停止態T用戶人為操作讓進程等待
僵尸態Z進程代碼運行結束,空間尚未回收
結束態X進程代碼結束,空間被回收

6、進程相關函數接口

? 1.fork(子進程創建接口)

  • 子進程拷貝父進程的文本段、數據段、系統數據段
  • 父進程與子進程的 PID 號不同
  • 若在子進程結束前父進程結束,子進程會被 init 領養,子進程的父進程 PID 號改為1

原型:

????????pid_t fork(void);

功能:

????????創建一個新的進程,新的進程稱為子進程,調用fork的進程稱為父進程

返回值:

????????父進程中返回子進程的PID

????????子進程中返回0

????????出錯返回-1

2.獲取 PID 號與 父進程 PID

????????getpid和getppid

原型:

????????pid_t getpid(void); 、

功能:

????????獲得調用函數進程的PID號

原型:

????????pid_t getppid(void);

功能:

獲得調用函數進程的父進程的PID號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918741.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918741.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918741.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開源工具】基于硬件指紋的“一機一碼”軟件授權系統全實現(附完整源碼)

?? 緊急預警!你的軟件正在被白嫖?這套Python軟件加密授權方案讓破解者當場崩潰 ?? 個人主頁:創客白澤 - CSDN博客 ?? 系列專欄:??《Python開源項目實戰》 ?? 熱愛不止于代碼,熱情源自每一個靈感閃現的夜晚。愿以開源之火,點亮前行之路。 ?? 希望大家多多支持…

機器學習算法篇(八)-------svm支持向量機

目錄 ??1. SVM 的核心原理(必須掌握)?? ??2. Python 中的實踐重點?? ??(1) Scikit-learn 的 SVM 實現?? ??(2) 數據預處理?? ??(3) 模型評估與調優?? ??3. 學習側重點優先級?? ??4. 經典案例實踐方向?? ??5. 學習…

發票查驗接口接收參數說明-PHP語言集成-財務管理

發票驗真服務接口可實時聯網核驗發票真偽,查驗一致時返回全票面信息。其支持核驗增值稅發票管理系統開具發票的真偽,且能進行發票批量查驗,當日開具的發票當日即可查驗。同時,結合發票識別接口可實現自動識別發票信息核驗&#xf…

Uniapp物聯網平臺登錄與溫濕度監測系統

下面是一個完整的Uniapp物聯網平臺實現,包含登錄功能和溫濕度監測系統。這個解決方案采用現代化UI設計,模擬了物聯網平臺的核心功能。文章末尾提供源碼下載。 系統功能說明 這個Uniapp物聯網平臺登錄與溫濕度監測系統包含以下核心功能: 1.…

【企業架構】TOGAF概念之四(終結)

導讀:學習TOGAF(The Open Group Architecture Framework,開放組架構框架)相關概念的意義和價值,體現在它為企業架構(Enterprise Architecture, EA)實踐提供了標準化方法論、跨領域協同框架、戰略…

centos 怎么部署 vscode 網頁版

安裝編譯工具 下載適用于 linux 版本的 rpm 格式文件 下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux 拷貝路徑,下載文件 wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/e3550cfac4b63ca4eafca7b601f0d2885817fd1f/code…

sql的關鍵字 limit 和offset

核心概念LIMIT (限制): 指定查詢最多返回多少行記錄。OFFSET (偏移): 指定在開始返回記錄之前要跳過多少行記錄。它定義了結果集的起始點。核心前提: 必須 使用 ORDER BY 子句來確保分頁結果的順序穩定和可預測。示例: 假設 employees 表有 100 條記錄&a…

git config的配置全局或局部倉庫的參數: local, global, system

git config的范圍參數: local, global, system1. --local: 作用于當前倉庫2. --global: 作用于當前用戶的全局范圍的 Git 倉庫3. --system: 作用于系統范圍內的 Git 倉庫4. 注意事項參考鏈接1. --local: 作用于當前倉庫 --local: 這個參數的作用范圍是當前倉庫。其配置的參數保…

應用系統連達夢數據庫報“服務器模式不匹配”的根源與修復方案

近期遇到很多個應用系統連接達夢數據庫報“服務器模式不匹配”的問題,省流直接說文章結論通常兩種場景 初次連接達夢數據庫時報服務器模式不匹配,可能是配置文件中LOGIN_MODE參數配置與數據庫狀態不一致導致連接失敗應用系統正常運行負載大或者偶發報服務…

git:分支

分支命名可以使用斜杠(/)構建分層命名方案不能以減號(-)開頭,分層的命名不能以點(.)開頭不能使用連接兩個點(.)不能包括空格或其他空白字符以及~ ^ : ? * [列出分支名稱 git branch 列出本地版本庫的分支git branch -r 列出遠程跟蹤分支git branch -a …

T05_卷積神經網絡

全連接網絡存的弊端 以MINST數字識別為例,創建一個4層全連接網絡層,輸入為28x28,中間三個隱藏層的節點數都是 256,輸出節點數是10。通過summary()函數打印出模型每一層的參數量,計算總的參數量超過34萬個網絡參數&…

區塊鏈在可信空間智能合約中的應用

區塊鏈在可信數據空間的智能合約應用,通過去中心化信任機制、自動化執行、可驗證計算等特性,正在重塑數據存儲、共享、交易和治理的模式。以下是其核心應用方向、關鍵技術及落地案例的深度解析: 一、核心應用方向 1. 數據確權與授權管理 應用場景 個人數據主權:用戶通過智…

pycharm配置python解釋器教程

一個解釋器對應一個環境,無論是conda環境或是Python環境。python環境的解釋器的路徑形如"D:\Python3.12\python.exe",conda環境的解釋器的路徑形如"D:\anaconda3\envs\opencv\python.exe"。 如何在Pycharm中設置解釋器 打開pycharm&…

C#教程之NPOI讀寫excel文件XLS,XLSX格式

NPOI 是開源的 POI 項目的.NET版,可以用來讀寫Excel,Word,PPT文件。僅需處理 XLS/XLSX 格式的文本和數字讀寫,最少需要加載 2 個核心 DLL:NPOI.dll包含所有格式的通用接口(IWorkbook、ISheet、IRow、ICell …

Perforce P4 Git 連接器

Perforce P4 Git連接器將Git代碼庫與數字資產集中存儲于Perforce P4(前身為Helix Core),為所有數字資產(源碼二進制文件)構建單一事實來源。 突破代碼庫與文件限制 當藝術家、開發者及工程師組成的大型團隊僅使用Git時…

day10_尋找用戶推薦人

一、題目給出一張customer表,里面有id(客戶id)——主鍵,name(客戶姓名),referee_id(推薦人客戶id)三個字段二、題目要求1、找出被id不是2的用戶推薦的客戶姓名2、沒有被任…

python爬蟲(三)----Selenium

目錄 1. Selenium 1.1 Selenium是啥 1.2 安裝chrom Driver 1.3 selenium 使用 1.4 selenium元素定位 1.5 訪問元素信息 1.6 交互 2. Phantomjs、Chrom handless 1. Selenium 1.1 Selenium是啥 自動化Web瀏覽器操作 主要用于Web應用程序的測試 支持多操作系統、多瀏覽器…

《事務隔離級別與 MVCC 機制深度剖析》

🔍 事務隔離級別與 MVCC 機制深度剖析 🧠 前言 在高并發場景下,數據庫事務是保證數據一致性的基石。但在 MySQL InnoDB 中,事務的隔離級別、鎖策略、MVCC(多版本并發控制)之間的配合,常常是面…

20250814,通義萬相,無限生成權限(慢速)

今天看小紅書,發現通義萬相可以免費生成慢速圖片。研究一下每天10分用完后,按鈕就變成0,但是可以點擊這個0,進入排隊慢速生成狀態。原來通義萬相的收費主要是用來提速的(快速出圖),不著急的話也…

Salesforce方案:醫療行業“患者隨訪與健康管理”

醫療行業“患者隨訪與健康管理”的Salesforce方案設計 一、業務需求核心解析 醫療行業患者隨訪與健康管理需實現三大目標: 全周期健康記錄:整合患者基本信息、病史、診療記錄及檢查結果,形成完整健康檔案個性化隨訪計劃:基于病種和…