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

正文內(nèi)容

一種遠(yuǎn)程管理linux系統(tǒng)工具的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)計(jì)算機(jī)-全文預(yù)覽

  

【正文】 。這個(gè)函數(shù)主要是用來(lái)綁定 X 事件,也就是當(dāng)用戶(hù)按下了連接按鈕后調(diào)用 CollFunc()這個(gè)函數(shù)。}上面函數(shù)大概反映了 GTK 變成中常用的構(gòu)件和函數(shù)。 gtk_widget_show(clloLabl)。 gtk_signal_connect_object(GTK_OBJECT(exitButt),clicked,GTK_SI GNAL_FUNC(Destroy),GTK_OBJECT(mainWin))。 gtk_container_add (GTK_CONTAINER (mainWin), table)。 gtk_table_attach_defaults((GtkTable*)table,textbox,1,2,0,1)。 gtk_table_set_col_spacing(GTK_TABLE(table),1,35)。 textbox = gtk_entry_new()。 gtk_window_set_default_size((GtkWindow*)mainWin,80,90)。 int level。這個(gè)函數(shù)主要功能是創(chuàng)建連接界面,并且當(dāng)用戶(hù)在文本框中輸入了服務(wù)器 IP 地址后,把文本框中的 IP 傳遞給后面的函數(shù),實(shí)現(xiàn)與服務(wù)器網(wǎng)絡(luò)連接。退出系統(tǒng)啟動(dòng)服務(wù)管理到圖3 的 recv()服務(wù)停止操作字符Net_DNS_Config () recv()restart refreshsaveconfigstart服務(wù)啟動(dòng)操作服務(wù)重啟操作發(fā)送配置文件內(nèi)容修改配置文件的操作stop圖 10 連接界面的流程圖程序從main()進(jìn)入以后就調(diào)用gtk_init()函數(shù)。 程序設(shè)計(jì)客戶(hù)程序一共有兩個(gè)窗體,連接窗體和主窗體。把用戶(hù)操作后的結(jié)果通過(guò) SOCK 來(lái)傳達(dá)給服務(wù)器程序。修改配置文件操作,先是接收客戶(hù)程序發(fā)送過(guò)來(lái)的數(shù)據(jù)(要修改的內(nèi)容),找到要修改數(shù)據(jù)的位置,把收到的數(shù)據(jù)寫(xiě)入到文件中。其流程如圖 9 所示。發(fā)送配置文件內(nèi)容操作是讀取 Apache 配置文件的內(nèi)容,然后把讀取的內(nèi)容發(fā)送到客戶(hù)程序。刪除 domain 操作先接收客戶(hù)程序發(fā)送的數(shù)據(jù)(要?jiǎng)h除的 domain,和 zone),然后判斷/var/named/chroot/etc/ 中是否有這個(gè) zone 存在,如果沒(méi)有就發(fā)送“zone name is not exist”到客戶(hù)程序,如果有就得到其數(shù)據(jù)文件名字,然后在數(shù)據(jù)文件中查看是否有 domain 存在,如果沒(méi)有就發(fā)送“Domain name is not exist”到客戶(hù)程序,如果有就刪除 domain 部分,然后發(fā)送“Domain del succseed”到客戶(hù)程序。退出系統(tǒng)啟動(dòng)服務(wù)管理到圖3 的 recv()字符Net_DNS_Config () recv()addzone delzoneladdtozonedelinzone刪除domain操作添加zone操作刪除zone操作刪除domain操作退出系統(tǒng)啟動(dòng)服務(wù)管理到圖3 的 recv()退出系統(tǒng)啟動(dòng)服務(wù)管理到圖3 的 recv()退出系統(tǒng)啟動(dòng)服務(wù)管理到圖3 的 recv()刪除 zone 操作先接收客戶(hù)程序發(fā)送過(guò)來(lái)的數(shù)據(jù)(要?jiǎng)h除的 zone 名),判斷配置文件中是否有發(fā)送過(guò)來(lái) zone 名存在,如果沒(méi)有就向客戶(hù)發(fā)送“zone name is not exist”字符串;如果有就讀取配置文件的數(shù)據(jù)到內(nèi)存(buff)中,再把 buff 內(nèi)存中的數(shù)據(jù)刪除要?jiǎng)h除的部分,然后再把 buff 中的數(shù)據(jù)寫(xiě)入到配置文件中。(4) DNS 管理操作圖 3 的程序流程到 Net_DNS_Config()函數(shù)就進(jìn)入 DNS 功能模塊了。然后判斷第 3 個(gè)字符,是 1 就調(diào)用系統(tǒng) linnk()函數(shù)把/etc/,是 0 就取消對(duì)/etc/。其流程如圖 6 所示。瀏覽組的過(guò)程,當(dāng)程序到了瀏覽組的流程后,打開(kāi)/etc/group 文件,把文件的數(shù)據(jù)讀取到 buff 中,再關(guān)閉文件,把 buff 的數(shù)據(jù)發(fā)送的到客戶(hù)程序。再次打開(kāi)文件/etc/group,把temp 的數(shù)據(jù)都寫(xiě)到文件中,關(guān)閉文件,這樣就完成組的刪除操作。進(jìn)入到組添加流程后,接收客戶(hù)端發(fā)送過(guò)來(lái)要添加的組的信息,然后把接收的數(shù)據(jù)格式按照/etc/group 存儲(chǔ)格式格式化后復(fù)制到 str 中。重新以寫(xiě)文件的操作打開(kāi)文件/etc/passwd,然后把二維數(shù)組(temp)中的數(shù)據(jù)以流的形式再寫(xiě)入到文件/etc/passwd 中,這樣就完成了修改用戶(hù)的操作當(dāng)進(jìn)入瀏覽用戶(hù)的流程后,打開(kāi)/etc/passwd 文件,把文件的數(shù)據(jù)讀取到 buff 中,再關(guān)閉文件,把 buff 的數(shù)據(jù)發(fā)送的到客戶(hù)程序,讓客戶(hù)程序顯示當(dāng)前的用戶(hù)信息。重新以寫(xiě)文件的操作打開(kāi)文件/etc/passwd,然后把二維數(shù)組(temp)中的數(shù)據(jù)的以流的形式在寫(xiě)入到文件/etc/passwd 中,這樣就實(shí)現(xiàn)了用戶(hù)的刪除。再以寫(xiě)的形式打開(kāi)文件,然后把上面二維數(shù)組(temp)的內(nèi)容寫(xiě)到文件中,最后再把變量(str)寫(xiě)到文件中,這樣就實(shí)現(xiàn)了用戶(hù)的添加。第七字段:用戶(hù)所用Shell的類(lèi)型,一般設(shè)置為/bin/bash。結(jié)束結(jié)束圖 3 服務(wù)程序的流程圖 功能模塊(1) 系統(tǒng)用戶(hù)管理操作和客戶(hù)程序建立了連接,并且收到了 user 字符串后,服務(wù)程序進(jìn)入系統(tǒng)用戶(hù)管理操作模塊,接著接收客戶(hù)程序發(fā)送過(guò)來(lái)的數(shù)據(jù)(字符串),通過(guò)數(shù)據(jù)來(lái)判斷是對(duì)用戶(hù)的添加、刪除、瀏覽或修改操作。在 Linux 中服務(wù)配置文件主要是以文本文件的形式存在的,所以通過(guò) Linux 系統(tǒng)調(diào)用很容易修改配置文件,流程如圖 2。5 程序設(shè)計(jì)和流程圖 設(shè)計(jì)思路本課題是采用 C/S 模式。int send(int sockfd,void *buf,int len,int flags)。區(qū)分這兩個(gè)東西是很重要的。參數(shù) cliaddr 和 addrlen 用來(lái)返回已經(jīng)連接的客戶(hù)端的協(xié)議地址。(4) listen 函數(shù)listen 函數(shù)只能由 TCP 服務(wù)器調(diào)用,他完成兩件事:一是當(dāng) socket 函數(shù)創(chuàng)建一個(gè)套接口時(shí)它是一個(gè)主動(dòng)的套接口,該函數(shù)就是把它轉(zhuǎn)換成一個(gè)被動(dòng)的套接口二是該函數(shù)規(guī)定了為相應(yīng)套接口排隊(duì)的最大的連接個(gè)數(shù)。(3) bind 函數(shù)該函數(shù)是把一個(gè)本地協(xié)議地址賦予一個(gè)套接口,對(duì)于網(wǎng)際協(xié)議,協(xié)議地址是一個(gè) 32 位的 IPV4 地址和一個(gè) 16 位的 TCP 端口號(hào)的組合。這個(gè)函數(shù)通常是在客戶(hù)程序中使用。int socket(int family,int type,int protocol)。4 基本的套接口編程 概述讓同一網(wǎng)絡(luò)的不同計(jì)算機(jī)的進(jìn)程能夠相互通信,首先要確定這些程序如何進(jìn)行通信。status)讓父進(jìn)程阻塞直到子進(jìn)程結(jié)束:pid_t result = wait(amp。父進(jìn)程和子進(jìn)程間的區(qū)別就是進(jìn)程的 pid 不同,其他的都一樣:pid_t result = fork(void)該函數(shù)比較特殊,它返回兩次函數(shù)值,一次返回值是向父進(jìn)程返回子進(jìn)程的 PID。關(guān)閉成功返回 0,失敗返回1。進(jìn)程不需要再對(duì)文件進(jìn)行讀寫(xiě)操作時(shí),就要關(guān)系文件打開(kāi)的文件。如果讀取成功返回值是讀取的字節(jié)數(shù),失敗就返回1。? 在 Linux 中打開(kāi)一個(gè)文件可以通過(guò)系統(tǒng)調(diào)用 open()函數(shù)來(lái)實(shí)現(xiàn):int fd = open(char *name,int how)。Linux 文件類(lèi)型常見(jiàn)的有:普通文件、目錄、字符設(shè)備文件、塊設(shè)備文件、符號(hào)鏈接文件等。回調(diào)函數(shù)用下面的形式連接到信號(hào):gtk_signal_connect(GTK_OBJECT( clist),select_row,GTK_SIGNAL_FUNC(select_row_callback),NULL)。unselect_row:用戶(hù)對(duì)一行取消選擇,引發(fā)這個(gè)信號(hào)。gint gtk_clist_append( GtkCList *clist,gchar *text[] )。因?yàn)镚tkCList可以有多列,因而在創(chuàng)建它之前,必須確定要?jiǎng)?chuàng)建的列表的列數(shù)。(7) 分欄列表構(gòu)件GtkCList(分欄列表構(gòu)件)是GtkList(列表構(gòu)件)的替代品,但它提供更多的特性。向筆記本構(gòu)件中添加頁(yè)面,主要有兩種方法,而且非常相似的,如下:? 在筆記本構(gòu)件中追加頁(yè)面:void gtk_notebook_append_page(GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label )。要說(shuō)明大量的相關(guān)信息,同時(shí)把它們分別顯示時(shí),使用這種構(gòu)件是一個(gè)很好的方法。如果需要,新字符串所需的空間會(huì)做自動(dòng)調(diào)整。用以下函數(shù)創(chuàng)建新標(biāo)簽構(gòu)件:GtkWidget *gtk_label_new(char *str )。void gtk_text_insert(GtkText *text,GdkFont *font,GdkColor *fore,GdkColor *back,const char *chars,gint length )。文本構(gòu)件有兩個(gè)主要用途:允許用戶(hù)編輯一段文本,或向用戶(hù)顯示多行文本。(4) 文本構(gòu)件GtkText(文本構(gòu)件)允許多行顯示或編輯文本。(3) 按鈕構(gòu)件GtkButton(普通按鈕構(gòu)件)是應(yīng)用程序中使用最廣泛的構(gòu)件。我們用表格構(gòu)件創(chuàng)建一個(gè)網(wǎng)格,把構(gòu)件放在網(wǎng)格里。 “管理布局”意味著這些容器為它們?nèi)菁{的子構(gòu)件分配大小尺寸和位置。用下面的函數(shù)創(chuàng)建新窗口:GtkWidget* gtk_window_new (GtkWindowType type)。一種有一個(gè)相關(guān)聯(lián)的GdkWindow窗口,另一種沒(méi)有。這里假定button是一個(gè)按鈕構(gòu)件。事件的回調(diào)函數(shù)與信號(hào)的回調(diào)函數(shù)在形式上略有不同:Void func(GtkWidget *widget,GdkEvent *event,gpointer callback_data )。上面函數(shù)的第 3 個(gè)參數(shù)為回調(diào)函數(shù),它的形式通常是:void callback_func( GtkWidget *widget, gpointer callback_data )。一旦事件發(fā)生,比如鼠標(biāo)器按鈕被按下,被按下的構(gòu)件(按鈕)將引發(fā)適當(dāng)?shù)男盘?hào)。gtk_main()函數(shù)用于阻塞該進(jìn)程直到滿(mǎn)足某些條件。從根本上來(lái)說(shuō),主循環(huán)是由 glib 實(shí)現(xiàn)的。采用 C/S模式,在客戶(hù)端采用 GTK 函數(shù)實(shí)現(xiàn)用戶(hù)界面的編寫(xiě),在服務(wù)器端通過(guò) Linux 的系統(tǒng)調(diào)用,來(lái)實(shí)現(xiàn)本地服務(wù)配置,然后再通過(guò) Sock 編程來(lái)實(shí)現(xiàn)服務(wù)器和客戶(hù)端的通信,傳遞配置內(nèi)容和服務(wù)指令。 本課題研究的意義本課題是為了給系統(tǒng)管理員提供一種遠(yuǎn)程管理 Linux 中某些主要服務(wù)的工具軟件,完成服務(wù)配置管理和查看一些重要的數(shù)據(jù)。本課題為減輕系統(tǒng)管理員的工作量而提供了一些簡(jiǎn)單的系統(tǒng)服務(wù)的管理和查看工具。GTK。通過(guò)系統(tǒng)測(cè)試后,完成預(yù)期的目標(biāo),但是需要進(jìn)一步完善程序和考慮安全性后,方可應(yīng)用于實(shí)際的遠(yuǎn)程管理。畢 業(yè) 設(shè) 計(jì) (論 文 )一種遠(yuǎn)程管理 Linux 系統(tǒng)工具的設(shè)計(jì)與實(shí)現(xiàn)論文作者姓名:申請(qǐng)學(xué)位專(zhuān)業(yè):申請(qǐng)學(xué)位類(lèi)別:指 導(dǎo) 教 師 姓 名 (職 稱(chēng) ):論文提交日期:一種遠(yuǎn)程管理 Linux 系統(tǒng)工具的設(shè)計(jì)與實(shí)現(xiàn)摘 要現(xiàn)在,Linux 已經(jīng)是應(yīng)用比較廣泛的操作系統(tǒng)之一,在其系統(tǒng)中有很多的服務(wù)。該遠(yuǎn)程管理工具選用 C/S 模式設(shè)計(jì),在客戶(hù)端,采用 GTK 編程來(lái)實(shí)現(xiàn)操作界面;在服務(wù)器端,選用 Linux 系統(tǒng)的文件調(diào)用函數(shù)來(lái)讀寫(xiě)配置文件中的數(shù)據(jù);采用 Sock TCP 編程來(lái)實(shí)現(xiàn)客戶(hù)端和服務(wù)端之間的數(shù)據(jù)通信。C/C++。但是現(xiàn)在能夠統(tǒng)一對(duì)這些服務(wù)進(jìn)行管理的軟件卻很少的。現(xiàn)在 Linux 已經(jīng)進(jìn)入到企業(yè)級(jí)應(yīng)用,Webmin 是一種基于 B/S 模式的遠(yuǎn)程管理 Linux 系統(tǒng)的軟件工具。 本課題的研究方法本課題主要是對(duì)網(wǎng)絡(luò)配置、GTK 庫(kù)、Linux 系統(tǒng)調(diào)用和網(wǎng)絡(luò)編程方面的研究。GTK 最初是 GIMP(GNU 圖形處理程序)開(kāi)發(fā)的控件集合,然后它不斷擴(kuò)展,直到今天被用于大量的應(yīng)用程序當(dāng)中。gtk_main()函數(shù)的所有功能都是監(jiān)視 Gtk 程序和與 X 服務(wù)的連接,對(duì)同樣的時(shí)間隊(duì)列起作用。(1) 信號(hào)控制權(quán)的傳遞是使用“信號(hào)”的方法。這由類(lèi)似以下所示的函數(shù)實(shí)現(xiàn):Gint gtk_signal_connect(GtkObject *object,Gchar *name,GtkSignalFunc func, gpointer func_data )。將回調(diào)函數(shù)連接到X的某一個(gè)事件,需要使用gtk_signal_connect函數(shù),并使用事件名稱(chēng)作為命名參數(shù)。將回調(diào)函數(shù)與一個(gè)事件連接起來(lái),需要使用以下形式的函數(shù):gtk_signal_connect( GTK_OBJECT(button),button_press_eventGTK_SIGNAL_FUNC(button_press_callback),NULL) 。 常用的 GTK 構(gòu)件GTK構(gòu)件可以分為兩種。但是它只可以容納一個(gè)子構(gòu)件,所以要讓GtkWindow能容納更多的構(gòu)件必須使用布局控件來(lái)布局。這些構(gòu)件可以有多個(gè)子構(gòu)件,它們的作用就是管理布局。GtkTable(表格構(gòu)件)是很常用的用于定位的構(gòu)件。要將構(gòu)件放到表格中,可以使用下列函數(shù):void gtk_table_attach(GtkTable *table,GtkWidget *child,gint left_
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1