為了簡化執行命令的複雜程度,linux系統提供system
系統呼叫,原理是通過fork
的方式產生乙個子程序,在這個子程序中執行系統呼叫過程中引數裡面設定的command
。
#include
int system(const char *command);
利用fork
建立子程序,然後用execl來執行/bin/sh sh -c command
指令。system
函式的主程序必須等待子程序執行完後再退出,並返回執行狀態。
int system(const char * cmdstring)
if((pid = fork())<0)
else if(pid == 0)
else}}
return status;
}
程式設計要求
在主函式的最開始會初始化乙個全部變數g_i4event
為0
。
本關的程式設計任務是補全右側**片段中begin
至end
中間的**,具體要求如下:
測試樣例:
測試輸入:
預期輸出:
touch ./test.dat successful!
system command executed successful!
#include #include #include #include #include #include #include #include pthread_t pid;
int g_i4event = 0;
int do_system(void);
int do_system(void)
return -1;
/*********end*********/
}void *detect(void *arg)
switch(g_i4event)
return null;
default:
break;
}g_i4event = 0;
usleep(10 * 1000);
} return null;
}int main(int argc, char *argv)
else
pthread_join(pid, null);
return 0;
}
Linux system 系統使用者管理
useradd 引數 使用者名字 u 指定使用者uid g 指定使用者初始組資訊,這個組必須已經存在 g 指定附加組,這個組必須存在 c 使用者說明 d 使用者家目錄 s 使用者所使用的shell,etc shells記錄了使用者能使用shell的名字 userdel r 使用者名稱 r表示刪除使用...
Linux system函式詳解
system 功能 system 函式呼叫 bin sh c command 執行特定的命令,阻塞當前程序直到command命令執行完畢 原型 int system const char command 返回值 如果無法啟動shell執行命令,system將返回127 出現不能執行system呼叫的...
linux system函式使用詳解
相關函式 fork,execv e,waitpid,popen 表頭檔案 i ncludelib.h 定義函式 int system con st char string 函式說明 system 會調 用fork 產生子程序,由子程序來呼叫 bin sh c string來執行參 數string字串...