exec函數族(部分 最常用的)

?

進程調用exec函數族執行某個程序

進程當前程序被執行程序替換

讓父子進程執行不同的程序

父進程創建子進程

子進程調用exec函數族·

父進程不受影響

?

#include<unistd.h>

int execl(const char *path, const char *arg, ...)

int execlp(const char *file, const char *arg,...)

?

成功則執行指定程序 失敗則返回EOF

path 執行的程序的名稱 包含路徑

arg.... 傳遞給程序的參數

file 執行的程序的名稱 不含路徑 需要在PATH環境變量中查找

?

#include<unistd.h>

int execv(const char *path, char *const argv[],...)

int execvp(const char *file, char *const srgv[],....)

成功執行指定程序 失敗返回EOF

arg....封裝成指針數組的形式

?

Ps:char *arg[]= {"ls","-a", "-l", "/etc", NULL};

if(execv("/bin/ls", arg) < 0)

{

perror("execv");

}

?

#include <stdlib.h>

int system(const char *command)

成功返回command命令的返回值 失敗返回EOF

函數的實現過程 是 先創建一個子進程 然后system()在子進程中執行命令 父進程需要等待子進程執行完之后才能繼續執行

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

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

相關文章

【計算機網絡】手動配置hosts文件解決使用GitHub和Coursera網站加載慢/卡的問題

目錄0 前言1 打開hosts1.1 以管理員身份運行記事本1.2 打開hosts2 找到實際地址2.1 打開cmd2.2 找到網址3 替換地址3.1 修改hosts文件3.2 刷新4 后續內容的完善0 前言 本文是針對純小白讀者&#xff0c;沒有涉及到任何的專業知識&#xff0c;你只需要按照步驟操作即可。 同時…

【匯編語言】鏡像遷移能力之一通百通——由代碼段和CS:IP的原理,掌握一類寄存器的使用

0 前言 你應該知道8086CPU的物理地址形成方式及其原理&#xff0c;才能完成本文的學習。 1 內存的分段 對于內存&#xff0c;人們人為地將其劃分為一段一段的&#xff0c;比如代碼段和數據段等&#xff0c;特別注意&#xff0c;這是人為劃分的結果&#xff0c;方面人類使用&…

線程間通信————同步

同步 是指多個任務按照約定的先后次序 相互配合完成一件事情 信號量&#xff1a; 由信號量決定 線程是繼續執行 還是阻塞等待 信號量代表某種資源 其值表示系統中該資源的數量 信號量是一個受保護的量 只能通過特定的三種操作來訪問 初始化 P操作&#xff08;申請資源&…

【計算機組成原理 數字邏輯 Verilog】32位加法器的實現:支持整數的加減運算

目錄0 前言0.1 使用環境0.2 知識點0.3 注意事項1 建模&#xff1a;1位加法器1.1 構建基礎模型1.1.1 一位加法器1.1.1.1 科技黑箱&#xff1a;外部端口與功能1.1.1.2 揭秘黑箱&#xff1a;內部結構與模塊1.1.2 從頂層模塊提取低層模塊&#xff1a;取反功能選擇器1.1.2.1 科技黑箱…

線程間通信————互斥

互斥 臨界資源 一次只允許一個任務&#xff08;進程&#xff0c;線程)訪問的共享資源 臨界區 訪問臨界資源的代碼 互斥機制 mutex互斥鎖 任務訪問臨界資源前申請鎖 訪問完后釋放鎖 互斥鎖初始化 #include <pthread.h> int pthread_mutex_init(pthread_mutex_t *mute…

【Verilog HDL】門級描述 / 數據流描述 / 行為級描述——通過四選一多路選擇器,實現對于不同層級描述方式的整體性認知

目錄0 前言1 輸出端口的設計1.1 門級描述和數據流描述1.2 行為級描述2 三種描述方式的整體架構2.1 門級描述2.2 數據流描述2.3 行為級描述2.4 補充&#xff1a;獨立的語句2.5 小結3 理解三種描述方式的本質3.1 門級描述3.2 數據流描述3.3 行為級描述4 理解不同抽象層級描述方式…

線程創建-結束-回收 教程

ps aux -L 查看線程信息 且顯示進程狀態 使用進程的缺點: 進程切換 系統開銷較大 開銷大的原因 &#xff1a;切換時需要頻繁刷新 cache(類似于緩沖區) 和TLB linux不區分線程 進程 線程其實也屬于進程 只不過是特殊的進程 是一種可以共享地址空間的進程 使用線程的優點&#x…

【匯編語言】匯編實驗IDE(集成開發環境):RadASM的安裝和使用說明

0 前言 本文適合8086CPU的指令集。 對于重要的專業基礎課程&#xff0c;匯編語言&#xff0c;做實驗是必不可少的&#xff0c;但是由于匯編語言本身的缺陷&#xff0c;現代計算機并不能直接運行匯編語言程序&#xff0c;因此&#xff0c;一般老師會要求我們 使用虛擬機&…

【匯編語言】理解8086CPU中,不同類型的寄存器和匯編指令規則的聯系(會繼續更新)

0 前言 你是否因為匯編指令繁雜的規則而苦惱呢&#xff1f;作者本人也很煩&#xff0c;因為往往教材中只告訴我們規則&#xff0c;卻不告訴我們為什么&#xff0c;沒有原因就直接記憶&#xff0c;負擔太大&#xff0c;后期靈活運用也增添阻力&#xff0c;因此&#xff0c;我經…

System V IPC之信號燈

信號燈也叫信號量 用于進程/線程同步或互斥的機制 信號燈的類型 1.Posix 無名信號燈 2.Posix 有名信號燈 3.System V 信號燈 信號燈的含義 計數信號燈&#xff08;1和2都是&#xff09; System V信號燈是一個或多個計數信號燈的集合&#xff08;可操作集合中的多個信號燈&…

【VS 2017 C語言 匯編語言】如何使用VS 2017,通過反匯編查看C語言代碼對應的32位x86匯編語言 VS 2017單步調試的使用

0 前言 本文適用于VS的大多數版本&#xff0c;本文以VS 2017為例進行講解。 1 編輯C語言代碼 首先&#xff0c;在VS編譯器中&#xff0c;創建項目&#xff0c;敲一段C語言代碼&#xff0c;這個過程不解釋了&#xff0c;如果不會請百度。 #include <stdio.h> #include…

System V IPC之共享內存

共享內存是一種最為高效的進程間通信方式&#xff0c;進程可以直接讀寫內存&#xff0c; 而不需要任何數據的拷貝 共享內存在內核空間創建&#xff0c; 可以被進程映射到用戶空間訪問 由于多個進程可同時訪問共享內存 &#xff0c; 因此需要同步和互斥機制配合使用 共享內存的使…

【匯編語言】結合C語言,使用VS 2017調試模式下的反匯編工具學習32位x86匯編指令

0 前言 簡要說明x86系列指令集的整體概況與變化。 我給到你補充學習內容&#xff1a;使用VS學習匯編語言的教程 1 8086CPU到現代CPU的變化 做一些了解即可&#xff0c;不是絕對的&#xff0c;取決于設計工藝以及用途&#xff0c;不同計算機不一樣也正常。 1.1 CPU位數與地…

System V IPC之消息隊列

消息隊列由消息隊列id來唯一標識 消息隊列就是一個消息的列表 用戶可以在消息隊列中添加消息 讀取消息 消息隊列可以按照類型來發送和接收消息 消息隊列使用步驟 打開/創建消息隊列 msgget 向消息隊列發送消息 msgsnd 從消息隊列接收消息 msgrcv 控制消息隊列 msgctl 創建/打開…

【匯編語言】學習源頭知識:XLAT指令的本質(待更新)

0 前言 帶你理解XLAT指令的本質. 我想讓你清楚的是&#xff0c;XLAT指令 本質就是數據的傳送&#xff1a;本質就是完成mov指令的傳送功能&#xff0c;只不過源操作數的尋址方式是[bxal]&#xff0c;目標操作數是al表象是數據的轉換&#xff1a;例如將十六進制轉換為ASCII字符…

進程間通信————信號

信號 信號是在軟件層次上對中斷機制的一直模擬&#xff0c;是一種異步通信方式 linux內核通過信號通知用戶進程&#xff0c; 不同的信號類型代表不同的事件 進程對信號有不同的響應方式 缺省方式 忽略信號 捕捉信號 SIGKILL和SIGSTOP這兩個信號量 級別很高 只能執行默認操作…

【匯編語言】清華大學學堂在線《匯編語言程序設計》課程學習筆記

0 前言 全是基于x86系列處理器 1 寄存器與存儲器的區別 2 匯編程序員眼中的系統結構 指令寄存器 PC&#xff08;Program Counter&#xff09; 指向下一條指令的地址 16位 CS:IP32位 EIP64位 RIP 寄存器與寄存器堆&#xff08;Registers&#xff09; 在處理器內部以名字方…

進程間通信————無名管道

無名管道 只能用于具有親緣關系的進程之間的通信 單工的通信模式 具有固定的讀端和寫端 無名管道創建時會返回兩個文件描述符 分別用于讀寫管道 只能用于親屬關系之間 創建無名管道 #include <unistd.h> int pipe(int pfd[2]) 成功返回0 失敗返回EOF pfd包含兩個元素的…

什么是計算機思維?2個簡單表達式讓你理解!

0 前言 本文以十進制整數為例&#xff0c;使用2個最簡單的表達式char a -20;和char c a b;,為你深入淺出地講解計算機思維&#xff0c;力求將抽象的計算機思維具象化講解&#xff0c;同時&#xff0c;我將為你描述一個宏大的計算機世界的藍圖。 計算機思維與核心思想概要&a…

進程間通信————有名管道

有名管道 特點&#xff1a; 對應管道文件 可用于任意進程之間進行通信 打開管道時 可指定讀寫方式 通過文件I/O操作 內容存放在內存中 當讀端和寫端都不存在 管道內容自動釋放 當讀端和寫端只存在一個 將會無法打開管道文件 管道文件大小永遠為0 因為管道中的內容保存在內…