freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

h20xx032045_一種遠(yuǎn)程管理linux系統(tǒng)工具的設(shè)計(jì)與實(shí)現(xiàn)-wenkub.com

2024-09-01 07:31 本頁(yè)面
   

【正文】 其流程如圖 11 所示。} init_cli(sock)。 sock = data。 CollFunc()主要作用是讀取文本框中的字符,并且用這 個(gè)來(lái)作為連接服務(wù)器的 IP,向服務(wù)器提出連接請(qǐng)求,連接成功就進(jìn)入主界面, 并且銷毀連接界面的構(gòu)件。前面對(duì)里面大部分代 碼介紹過(guò)了。 第 22 頁(yè) 共 33 頁(yè) gtk_widget_show(textbox)。 gtk_widget_show(mainWin)。 gtk_signal_connect(GTK_OBJECT(exitButt), clicked, GTK_SIGNAL_FUNC(Destroy), NULL)。 gtk_table_attach_defaults((GtkTable*)table,clloButt,0,2,1,2)。 gtk_entry_set_text((GtkEntry *)textbox,input severs IP here!)。 table = gtk_table_new (2, 3, TRUE)。 第 21 頁(yè) 共 33 頁(yè) exitButt = gtk_button_new_with_label(exit)。 char *text。其函數(shù)代碼如下: GtkWidget *textbox。 gtk_init()函數(shù)功能初始化 GTK,并且分析在命令行中傳遞進(jìn)來(lái)的參數(shù)。 l 連接界面的編寫 首先是連接界面的編寫,主要是用于和服務(wù)器端的連接。 讓服務(wù)器程序通過(guò) SOCK 傳遞的數(shù)據(jù)來(lái)對(duì)服務(wù)器的配置。 第 19 頁(yè) 共 33 頁(yè) Net_DNS_Config () recv() 字符 stop start saveconfig restart refresh 服務(wù)停 服務(wù)啟 止操作 動(dòng)操作 服務(wù)重 啟操作 發(fā)送配 置文件 內(nèi)容 修改配 置文件 的操作 退出系統(tǒng)啟 動(dòng)服務(wù)管理 到圖 3 的 recv() 圖 9 FTP 流程圖 客戶程序 設(shè)計(jì)思路 客戶端的作用有兩個(gè):一是為用戶提供操作界面;二是和服務(wù)器端進(jìn)行數(shù) 據(jù)通信。 FTP 服務(wù)停止、啟動(dòng)和重啟操作是通過(guò) exec 調(diào)用 FTP 停止、啟動(dòng)和重啟的 shell 腳本來(lái)完成的。 修改配置文件操作,先是接收客戶程序發(fā)送過(guò)來(lái)的數(shù)據(jù) (要修改的內(nèi)容 ), 然后在配置文件中查找要修改的位置,把客戶程序發(fā)送過(guò)來(lái)的數(shù)據(jù)寫到配置文 件中。 (5) Apache 服務(wù)管理操作 Apache 模塊主要是完成:向客戶程序發(fā)送當(dāng)前的一些 Apache 錯(cuò)誤日志; 通過(guò)客戶發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行一些簡(jiǎn)單的配置; Apache 服務(wù)的開(kāi)啟、關(guān)閉和重 啟功能,其流程如圖 8 所示。 寫入成功后發(fā)送 zone delete succsed字符串到客戶程序。該模塊 主要是為在 DNS 中添加和刪除 zone;在 zone 中添加和刪除 domain。然后就判斷第 4 個(gè)字符 的 值 , 如 果 是 1 話 就 把 /etc//etc/,是 0 就取消對(duì) /etc/。 InitAction () recv () 1 link(/etc/, /etc/) 第 1個(gè) 字符 0 unlink(/etc/ed) link(/etc/, 1 /etc/) 第 2個(gè) 字符 0 unlink(/etc/pd) 1 link(/etc/, /etc/) 第 3個(gè) 字符 0 unlink(/etc/S80sendmail) link(/etc/, 1 /etc/) 第 4個(gè) 字符 0 unlink(/etc/S65dhcpd) 1 link(/etc/, /etc/) 第 5個(gè) 字符 0 unlink(/etc/S91smb) 退出系統(tǒng)啟 動(dòng)服務(wù)管理 到圖 3 的 recv() 圖 6 系統(tǒng)啟動(dòng)服務(wù)管理流程 服務(wù)程序進(jìn)入到圖 3 的 InitAction()函數(shù)就進(jìn)入了系統(tǒng)服務(wù)啟動(dòng)管理流 程,接收客戶程序發(fā)送過(guò)來(lái)的數(shù)據(jù),這里發(fā)送過(guò)來(lái)的是一個(gè)有 5 個(gè)字符串的數(shù) 第 16 頁(yè) 共 33 頁(yè) 組。讓 客戶程序顯示當(dāng)前的用戶信息。 組的修改過(guò)程,接收客戶端發(fā)送過(guò)來(lái)要添加組的信息,然后把接收的數(shù)據(jù) 格式按照 /etc/group 存儲(chǔ)格式格式化后存復(fù)制到 str 變量中。然后打開(kāi)文件 /etc/group,讀取文件中組的數(shù)據(jù)復(fù)制到二維數(shù)組 (temp)中 ,關(guān)閉文件。 (2) 系統(tǒng)用戶組 的操作 用戶組( Group)配置文件主要有 /etc/group 和 /etc/gshadow,其中 第 13 頁(yè) 共 33 頁(yè) /etc/gshadow 是 /etc/group 的加密信息文件。 用戶修改過(guò)程,接收客戶程序發(fā)送過(guò)來(lái)的數(shù)據(jù)后,把接收的數(shù)據(jù)格式化復(fù) 制到 str 中。 程序進(jìn)入到了刪除用戶流程后,接收客戶程序要?jiǎng)h除用戶的用戶名。 程序進(jìn)入到了添加用戶后,接收客戶程序傳過(guò)來(lái)要添加的用戶信息 (用戶 名、密碼、全名 )。接收到了 adduser字符串就進(jìn) 入添加用戶流程;接收到 deluser字符串就進(jìn)入刪除用戶流程;接收到 scanuser字符串就進(jìn)入了瀏覽用戶流程;接收到 property字符串就進(jìn) 入到了修改用戶流程,系統(tǒng)用戶管理操作流程如圖 4 所示。 main() 等待連接 輸入服務(wù) 器 IP 建立連接( TCP3 次握手) 連接界面 連接 成功 連接不成功 初始化數(shù)據(jù) TCP 接口 用戶主界面 用戶操作 否 TCP 接口 退出 處理 請(qǐng)求 退出 是 結(jié)束 結(jié)束 圖 2 程序總體流程 服務(wù)程序 流程設(shè)計(jì) 服務(wù)程序功能有兩個(gè):一是監(jiān)聽(tīng)端口,接收數(shù)據(jù)和向客戶程序發(fā)送數(shù)據(jù); 二是根據(jù)客戶程序發(fā)送過(guò)來(lái)的數(shù)據(jù)對(duì)文件修改,其流程圖如圖 3 所示??蛻舫绦蚬δ苁墙缑娴木帉?,并和服務(wù)程序通信。 第 1個(gè)參數(shù)是已經(jīng)連接的套接口的描述符,第 2 個(gè)參數(shù)是發(fā)送的數(shù)據(jù)的內(nèi) 存地址,第 3 個(gè)參數(shù)是發(fā)送數(shù)據(jù)的大小,第 4 個(gè)參數(shù)是選項(xiàng)。 (6)close 函數(shù) 套接口編程通常都需要一個(gè) close 函數(shù)來(lái)關(guān)閉套接口 ,來(lái)中斷 TCP 的連接。函數(shù)返 回值為一個(gè)非負(fù)的描述符表示成功,出錯(cuò)為 1。 int listen(int sockfd,int backlog)。 int bind(int sockfd,const struct aockaddr *myadd,socklen_t addrlen)。 int connect(int sockfd, const sgruct sockaddr *servaddr, socklen_t addrlen)。 其中 family 參數(shù)指明協(xié)議族, type 參數(shù)指明套接口類型, protocol 參數(shù) 為某個(gè)協(xié)議的常數(shù)。本課題所用的協(xié)議是 TCP/IP 協(xié)議。status)。還有一次是返回 0(子進(jìn)程 )。 進(jìn)程和線程的使用 (1) Linux 進(jìn)程 Linux 進(jìn)程創(chuàng)建很特別。 close() 能關(guān)閉打開(kāi)的文件,其函數(shù)原形: int result = close(int fd)。 l 系統(tǒng)調(diào)用 write()函數(shù)將內(nèi)存中的數(shù)據(jù)寫入到文件中去,函數(shù)原形: ssize_t resut = write(int fd,void *buff,zize_t amt)。 其中參數(shù) name 是要打開(kāi)的函數(shù)名字; how 是打開(kāi)的方式;返回值 1 為錯(cuò)誤, 成功就返回一個(gè)文件描述符。很多系統(tǒng)服務(wù)和應(yīng)用服 務(wù)的配置文件都是以普通文件的形式存在 ,這些文件很容易通過(guò) Linux 的系統(tǒng) 調(diào)用來(lái)配置和修改,也可以用文檔文件的修改方式來(lái)修改。 以 上只是簡(jiǎn)單介紹了本課題在客戶端界面編寫的時(shí)候可用到的 GTK庫(kù)函數(shù), 但實(shí)際的 GTK比上面的操作還要復(fù)雜得多。傳遞的信息與上一個(gè) 信號(hào)一樣。 用下面的函數(shù)可以刪除一些數(shù)據(jù)行: void gtk_clist_remove( GtkCList *clist,gint row )。創(chuàng)建分欄列表的函數(shù): GtkWidget *gtk_clist_new ( gint columns )。分欄列表構(gòu)件是多列列表構(gòu)件,它有能力處理數(shù)千行的信息。 l 在筆記本構(gòu)件中前插頁(yè)面: void gtk_notebook_prepend_page(GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label )。許多應(yīng)用程序的 選項(xiàng) 對(duì)話框都使用了這個(gè)構(gòu)件。在字符串中放置換行符, 可以創(chuàng)建多行標(biāo)簽。 唯一的參數(shù)是要由標(biāo)簽顯示字符串。 ( 5) 標(biāo)簽構(gòu)件 GtkLabel(標(biāo)簽構(gòu)件 )是 GTK中最常用的構(gòu)件之一,實(shí)際上它很簡(jiǎn)單。 為了在兩種操作模式之間進(jìn)行切換,文本構(gòu)件有以下函數(shù): void gtk_text_set_editable( GtkText *text,gint editable )。它支持多種顏色以及多種 字體的文本,允許它們以任何需要的形式混合顯示,還有許多與 Emacs兼容 的文 本編輯命令。它一般用于當(dāng) 第 頁(yè) 共 33 頁(yè) 3 用戶點(diǎn)擊它時(shí)執(zhí)行某個(gè)動(dòng)作,其使用和創(chuàng)建也相當(dāng)簡(jiǎn)單。構(gòu)件可以在網(wǎng)格中占據(jù)任意多個(gè)格子。例如, GtkVBox將它的子構(gòu)件在一個(gè)垂直的棧內(nèi)排列。 用下面的構(gòu)件向窗口中添加子構(gòu)件: gtk_container_add (GTK_CONTAINER (window), widget)。 絕大多數(shù)構(gòu)件都是第一種構(gòu)件,并且可以顯示在 GdkWindow窗口。現(xiàn)在,當(dāng)鼠標(biāo)移動(dòng)到按鈕上方,鼠標(biāo)按鈕 按下時(shí),將調(diào)用 button_press_callback函數(shù)。 GdkEvent是 C中的聯(lián)合體結(jié)構(gòu),其類型依賴于發(fā)生的事件。 ( 2) 事件 除了上面的信號(hào)機(jī)制外,還有一些和 X事件機(jī)制相對(duì)應(yīng)的事件。有一些信號(hào)是大多數(shù)構(gòu)件都 具備的,比如 destory,還有一些是某些構(gòu)件專有的,比如在按扭的 toggled 信號(hào)。所有 第 頁(yè) 共 33 頁(yè) 1 的 Gtk 程序都用這個(gè)技巧使應(yīng)用程序正在運(yùn)行時(shí) main()函數(shù)被阻塞,直到用戶 通過(guò)點(diǎn)擊鼠標(biāo)或鍵盤來(lái)產(chǎn)生一個(gè)信號(hào),并通過(guò)該信號(hào)來(lái)調(diào)用相應(yīng)的回調(diào)函數(shù)。 Gtk 將 glib 主循環(huán)連接到 Gdk 的 X 服務(wù)器,并提供一個(gè)方便的接口。 2 GTK 編程 GTK 簡(jiǎn)介 GTK(GIMP Toolkit,GIMP 工具包 )是一個(gè)用于創(chuàng)造圖形用戶接口的多平臺(tái)工 具。由于 Linux 是開(kāi)源項(xiàng)目的 代表,對(duì) Linux 的學(xué)習(xí)有助于對(duì)計(jì)算機(jī)系統(tǒng)和軟件理論知識(shí)的提高。 國(guó)內(nèi)外研究現(xiàn)狀 Linux 是現(xiàn)在開(kāi)源項(xiàng)目的代表,很多大的硬件廠商也在支持 Linux 的發(fā)展。System Call。 關(guān)鍵詞 : Linux;系統(tǒng)服務(wù); C/C++; GTK;系統(tǒng)調(diào)用; Socket The Design and Implementation of a Remote Management Tool for Linux Abstract The operating system of Linux has bee one of the most popular operating systems nowadays. It provides many kinds of service. In order to configure and manage the service remotely, the tool of remote management of the operating system of Linux is needed. Webmin is a good tool of software based on the model of B/S. This design is implemented based on the model of C/S. The main functions of the system include addition, modification, deletion of users and
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1