所以我一直在爲這個練習而努力。我必須得到由我選擇的任何給定的Linux命令(I.E.ls或cd)所做的系統調用,將它們列在.txt文件中,並在它們旁邊列出其唯一的ID。獲取系統調用ID並將它們存儲在.txt文件中(LINUX)
到目前爲止,這裏就是我的了:
strace -o filename.txt ls
這時候在Linux shell中執行給了我包含ls命令的所有系統調用「FILENAME.TXT」文件。現在,在我的C腳本:
#include <stdio.h>
#include <stdlib.h>
int main(){
system("strace -o filename.txt ls");
return 0;
}
這應該做一樣的前面的代碼,但它沒有返回我什麼,雖然成功地代碼編譯。我將如何去解決這個問題,然後獲得ID?我使用的是「stdlib」庫,因爲在我的研究中,我發現它與系統調用ID有一些關係,但沒有找到任何關於如何獲得它們的指示。基本上我必須讀取我創建的文件,並讓它給每個系統調用它的ID。
從你自己的程序執行shell命令有什麼意義?如果你被要求在c中這樣做,你應該看看[man ptrace](http://man7.org/linux/man-pages/man2/ptrace.2.html) –
1)C不是一種腳本語言。 2)@FelixPalmen是對的:它沒有任何意義。 – Olaf