深入理解計算機系統 CSAPP 家庭作業8.22

書本知識夠你寫出答案,但是如果你想驗證你寫的答案,就要一些額外的東西.這本書很多題目都是如此

/** mysystem.c*/
#include <stdio.h>
#include "csapp.h"int mysystem(char* command) {pid_t pid;int status;if ((pid = Fork()) == 0) {/*這里是關鍵用子程序去加載sh */char* argv[4] = { "", "-c", command, NULL };execve("/bin/sh", argv, environ);}/* print child pid so we can kill it */printf("child pid: %d\n", pid);if (Waitpid(pid, &status, 0) > 0) {/* exit normally */if (WIFEXITED(status))return WEXITSTATUS(status);/* exit by signal */if (WIFSIGNALED(status))return WTERMSIG(status);}
}int main(int argc, char* argv[]) {int code;code = mysystem("./exit-code");printf("normally exit, code: %d\n", code); fflush(stdout);code = mysystem("./wait-sig");printf("exit caused by signal, code: %d\n", code); fflush(stdout);return 0;
}
/** wait-sig.c*/
#include "csapp.h"int main(int argc, char* argv[]) {while (1);
}
/** exit-code.c*/
#include "csapp.h"int main(int argc, char* argv[]) {exit(10);
}

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

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

相關文章

新加坡工作和生活指北:工作篇

文章首發于公眾號&#xff1a;Keegan小鋼 一年多以前&#xff08;2022 年 8 月初&#xff09;&#xff0c;那時我過來新加坡才 4 個多月&#xff0c;就寫了篇文章分享了當時在新加坡的生活和工作體驗。文章得到的反響不錯&#xff0c;但也反饋出了一些新的問題&#xff0c;比如…

預訓練對齊:數學理論到工程實踐的橋梁

在人工智能和機器學習領域&#xff0c;預訓練模型的對齊是一個至關重要的概念。本篇博客源自聽了一場黃民烈老師關于大模型對齊的分享&#xff0c;整理內容如下&#xff0c;供大家參考。 數學理論中的預訓練對齊 數學理論上&#xff0c;預訓練對齊是什么&#xff1f; 序列…

Java-關鍵字(static,final)

1.1 static關鍵字 static關鍵字 : 靜態的意思 , 可以修飾變量 , 也可以修飾方法 , 被static修飾的成員 , 我們叫做靜態成員 static特點 : 靜態成員被所類的所有對象共享 隨著類的加載而加載 , 優先于對象存在 可以通過對象調用 , 也可以通過類名調用 , 建議使用類名 1. 靜…

Keepalived+HAProxy 集群及虛IP切換實踐

1、軟件介紹 ①Keepalived keepalive是一個用c語言編寫的路由軟件&#xff0c;這個項目的主要目標是為Linux系統和基于Linux的基礎設施提供簡單而健壯的負載平衡和高可用性設施。負載均衡框架依賴于眾所周知且廣泛使用的Linux Virtual Server (IPVS)內核模塊提供第4層負載均衡…

srs直播內網拉流帶寬飆升問題記錄

問題背景 srs部署在云服務器上&#xff0c;32核cpu&#xff0c;64G內存&#xff0c;帶寬300M. 客戶端從srs拉流&#xff0c;發現外網客戶端拉流&#xff0c;cpu和帶寬都正常。然而內網客戶端拉流&#xff0c;拉流人數超過5人以上&#xff0c;帶寬就會迅速飆升。 排查 用srs…

數學建模論文寫作文檔word

目錄 1. 摘要寫法1.1 確定題目與方法1.2 編寫開頭段落1.3 填寫問題一1.4 重復步驟3填寫其他問題1.5 編寫結尾段落1.6 編寫關鍵詞 2. 問題重述2.1 問題背景2.2 問題提出 3. 問題分析4. 問題X模型的建立與求解5. 模型的分析5.1 靈敏度分析5.2 誤差分析&#xff08;主要用于預測類…

Milvus lite start 及存儲策略

背景 今天開始寫下Milvus&#xff0c;為了方便&#xff0c;我直接使用的是 milvus-lite 版本&#xff0c;default 情況下&#xff0c;你可能不知道他到底將 db 存儲到什么位置了。啟動 default-server&#xff0c;看下Milvus 的start及存儲邏輯 主邏輯 def start(self):sel…

adb參數詳解

文章目錄 1. -d2. -e3. -s4. -t5. -H6. -P7. -L8. --one-device9. --exit-on-write-error10. connect / disconnect11. pair12. forward13. forward --list14. reverse15. mdns check16. mdns services17. push18. pull19. sync20.shell21. install22. uninstall23. bugreport2…

最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM)及其Python和MATLAB實現

LSSVM&#xff08;Least Squares Support Vector Machine&#xff09;又稱最小二乘支持向量機&#xff0c;是支持向量機&#xff08;SVM&#xff09;的一種變體&#xff0c;它通過將SVM的優化問題轉化為帶約束的二次規劃問題&#xff0c;利用最小二乘法進行優化求解&#xff0c…

redis集群部署 (通過redis工具快速部署,手動部署)

目錄 一、快速部署集群 1、 進入集群目錄&#xff0c;創建集群 2、 查看正常啟動 二、部署集群 1、分配集群節點 2、驗證集群可用性 3、停止redis進程 三、手動部署集群 1、配置redis.conf配置文件 2、啟動redis集群 3、手動創建redis集群 4、驗證 四、集群…

mysql異常數據損壞處理,報錯:Operating system error number 2 in a file operation

一、問題描述 某次一線反應&#xff0c;某主庫表全部丟失&#xff0c;查看為空&#xff0c;登陸主機查看mysqld.log后報錯&#xff1a;Operating system error number 2 in a file operation數據目錄OS重裝后修改過&#xff0c;但只是指向方式不同&#xff0c;目錄還是同一目錄…

【綠色版】Mysql下載、安裝、配置與使用(保姆級教程)

大家都知道&#xff0c;Mysql安裝版的卸載過程非常繁瑣&#xff0c;而且卸載不干凈會出現許多問題&#xff0c;很容易讓大家陷入重裝系統的窘境。基于此&#xff0c;博主今天給大家分享綠色版Mysql的安裝、配置與使用。 目錄 一、Mysql安裝、配置與使用 1、下載解壓 2、創建…

vue對axios進行請求響應封裝

一、原因 像是在一些業務邏輯上&#xff0c;比如需要在請求之前展示loading效果&#xff0c;或者在登錄的時候判斷身份信息&#xff08;token&#xff09;等信息有沒有過期&#xff0c;再者根據服務器響應回來的code碼進行相應的提示信息。等等在請求之前&#xff0c;之后做的一…

ABAP注釋快捷鍵修改(留著備用)

ABAP注釋快捷鍵修改(留著備用) 在使用ABAP編輯器的時候&#xff0c;原有的添加代碼注釋和取消代碼注釋的快捷鍵未生效&#xff0c;這時我們可以考慮對注釋快捷鍵進行修改 在事務碼SE38(ABAP編輯器)屏幕右下角&#xff0c;點擊【Options選項】圖標 在【鍵盤】|【命令】輸入欄中…

DWM 相關實現代碼 [自用]

1. DWM 縮略圖和模糊隱藏實現半透明 #include <windows.h> #include <dwmapi.h> #include <string> #pragma comment(lib, "dwmapi.lib")// 檢查 UWP 窗口是否可見 bool IsUWPWindowVisible(HWND hwnd) {DWORD cloaked 0;DwmGetWindowAttribute(…

【c語言】玩轉文件操作

&#x1f31f;&#x1f31f;作者主頁&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所屬專欄&#xff1a;C語言 目錄 引言 一、文件的打開和關閉 1.流 2.標準流 3.文本文件和二進制文件 4.控制文件打開與關閉的函數 二、文件的順序讀寫 三、文件的隨機讀寫 1…

深入理解OAuth 2.0:原理、流程與實踐

一、什么是OAuth 2.0 1. 什么是OAuth 2.0 OAuth 2.0 是一套關于授權的行業標準協議。 OAuth 2.0 允許用戶授權第三方應用訪問他們在另一個服務提供方上的數據&#xff0c;而無需分享他們的憑據&#xff08;如用戶名、密碼&#xff09;。 2. OAuth 2.0 應用場景 OAuth 2.0的…

非參數檢測6——優缺點

優點&#xff1a; 參量檢測的特點在于以似然比處理器為基礎&#xff0c;并建立在假定干擾或噪聲的統計特性已知的基礎上。但實際上&#xff0c;干擾環境往往十分復雜&#xff0c;包括自然和人為因素&#xff0c;且常常隨時改變。這使我們很難確定噪聲的統計特性。因此人們提出…

服務器U盤安裝Centos 7時提示Warning:/dev/root does not exist

這是沒有找到正確的鏡像路徑導致的&#xff0c;我們可以在命令行輸入ls /dev看一下有哪些盤符 像圖中紅色圈起來的就是我插入U盤的盤符&#xff0c;大家的輸幾盤可能做了多個邏輯盤&#xff0c;這種情況下就可以先將U盤拔掉再ls /dev看一下和剛才相比少了那兩個盤符&#xff0c…

在Spring Boot中實現多線程任務調度

在Spring Boot中實現多線程任務調度 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 1. Spring Boot中的任務調度 Spring Boot通過集成Spring框架的Task Execution和Scheduling支持&#xff0c;提供…