版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)實(shí)習(xí)匯報(bào)學(xué)生姓名:劉世班級:物聯(lián)網(wǎng)151班專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)系別:計(jì)算機(jī)系學(xué)院:信息工程學(xué)院指導(dǎo)教師:宋洪軍年12月10日操作系統(tǒng)實(shí)習(xí)匯報(bào)正文格式1.遠(yuǎn)程登錄服務(wù)器的設(shè)置一、設(shè)計(jì)目的掌握遠(yuǎn)程登錄Telnet、SSH服務(wù)器的配置措施。。二、設(shè)計(jì)內(nèi)容及規(guī)定1、下載對應(yīng)版本的telnet服務(wù)器rpm包2、安裝telnet服務(wù)器;3、配置telnet服務(wù)器;4、打開Telnet服務(wù);5、容許root使用Telnet登錄;6、啟動Telnet服務(wù)器;7、使用telnet;8、安裝和配置openssh;9、使用SSH客戶端;10、OpenSSH常用命令練習(xí);三、設(shè)計(jì)算法及流程1.Telnet(1)使用如下命令檢查與否安裝了Telnet服務(wù)器程序:#rpm–qatelnet-server(2)若沒有光盤,從網(wǎng)上下載對應(yīng)版本的ipm包。通過U盤掛載將程序復(fù)制到/root/下。(3)使用如下命令安裝Telnet服務(wù)器程序:
#rpm–ivh/root/telnet-server-0.17-47.el6_3.1.i686.rpm。(4)使用如下命令打開/etc/xinetd.d/telnet文獻(xiàn)#vi/etc/xinetd.d/telnet將配置文獻(xiàn)中的disable=yes修改為disable=no,保留退出。(5)需要設(shè)置Telnet服務(wù)器只容許上班時(shí)間進(jìn)行登錄,且登錄的客戶端只能是本網(wǎng)段內(nèi)的主機(jī)(即—55),則可使用如下命令打開/etc/xinetd.d/telnet文獻(xiàn),修改配置文獻(xiàn)。(6)Telnet服務(wù)使用的默認(rèn)端口是23,若不使用該端口,可在/etc/services中進(jìn)行修改。#vi/etc/services(7)在/etc/目錄中有一種securetty文獻(xiàn),該文獻(xiàn)可控制root顧客登錄的設(shè)備。該文獻(xiàn)是記錄的是可以作為root顧客登錄的設(shè)備名,如tty1、tty2等。若要root顧客通過Telnet登錄到服務(wù)器,最簡樸的措施是刪除securetty文獻(xiàn),使用如下命令將該文獻(xiàn)重命名也可以到達(dá)同樣的目的。#mv/etc/securetty/etc/securetty.bak(8)通過前面的環(huán)節(jié)設(shè)置好Telnet的配置文獻(xiàn)后,使用如下命令重啟xinetd守護(hù)進(jìn)程,可將Telnet服務(wù)啟動。#servicexinetdrestart(9)在LInux中使用如下命令登錄到Telnet服務(wù)器:#telnet49(10)使用Windows也可迅速通過Telnet登錄到Linux服務(wù)器,詳細(xì)過程如下:在Windows的命令窗口輸入如下命令登錄到服務(wù)器
telnet49連接到服務(wù)器后,將提醒顧客輸入顧客名和密碼登錄成功后,即可在Windows中操作遠(yuǎn)程Linux服務(wù)器了??蛻舳顺绦蜻B接到Telnet服務(wù)器后,將提醒顧客名和密碼,進(jìn)行登錄操作。2.Openssh(1)使用如下命令檢查與否安裝OpenSSH服務(wù)器程序。#rpm-qaopenssh-server(2)OpenSSH服務(wù)器程序包括在RHEL6.4的安裝光盤中,使用mount將光驅(qū)掛載到文獻(xiàn)系統(tǒng)。若沒有光盤,可從網(wǎng)上下載。(3)使用如下命令安裝OpenSSH服務(wù)器程序:#rpm-ivh/mnt/cdrom/Packages/openssh-server-5.3p1-84.1.el6.i686.rpm安裝完畢后,OpenSSH服務(wù)器程序的守護(hù)進(jìn)程為sshd。通過該守護(hù)進(jìn)程就可啟動、重啟或停止OpenSSH服務(wù)器程序。(4)啟動/停止OpenSSH設(shè)置好OpenSSH配置文獻(xiàn)后,就可啟動OPenSSH服務(wù)程序。手工啟動的命令如下:
#servicesshdstart(5)Linux客戶端使用SSH登錄可通過兩種方式來登錄SSH服務(wù)器。通過密碼方式登錄SSH的過程為:在客戶機(jī)中使用如下命令連接到遠(yuǎn)程SSH服務(wù)器:#ssh493.scp(1)將當(dāng)?shù)赜?jì)算機(jī)中名為upfile.txt的文獻(xiàn)復(fù)制到遠(yuǎn)程服務(wù)器中,放于root顧客的Home目錄中,詳細(xì)操作命令如下:#scpupfile.txt.0.1:目錄(2)若只是查看遠(yuǎn)程服務(wù)器中root目錄中的文獻(xiàn)列表,詳細(xì)命令如下:#sshls-l4.sftp(1)在當(dāng)?shù)赜?jì)算機(jī)中輸入如下命令,登錄到遠(yuǎn)程服務(wù)器:#sftp.0.1執(zhí)行以上命令,將規(guī)定顧客輸入密碼。(2)與使用ftp同樣,可使用ls命令查看目前目錄中的文獻(xiàn)。(3)接下來使用put命令將當(dāng)?shù)赜?jì)算機(jī)中的文獻(xiàn)upfile.txt上傳到服務(wù)器。(4)使用ls命令查看文獻(xiàn)與否上傳成功。(5)操作完畢后,輸入bye命令,退出sftp即可。四、程序運(yùn)行成果分析telnetsshscpSftp五、程序源代碼及注釋使用如下命令檢查與否安裝了Telnet服務(wù)器程序:#rpm–qatelnet-server使用如下命令安裝Telnet服務(wù)器程序:
#rpm–ivh/root/telnet-server-0.17-47.el6_3.1.i686.rpm。使用如下命令打開/etc/xinetd.d/telnet文獻(xiàn)#vi/etc/xinetd.d/telnetTelnet服務(wù)使用的默認(rèn)端口是23,若不使用該端口,可在/etc/services中進(jìn)行修改。#vi/etc/services刪除securetty文獻(xiàn),使用如下命令將該文獻(xiàn)重命名也可以到達(dá)同樣的目的。#mv/etc/securetty/etc/securetty.bak通過前面的環(huán)節(jié)設(shè)置好Telnet的配置文獻(xiàn)后,使用如下命令重啟xinetd守護(hù)進(jìn)程,可將Telnet服務(wù)啟動。#servicexinetdrestart在LInux中使用如下命令登錄到Telnet服務(wù)器:#telnet49使用如下命令檢查與否安裝OpenSSH服務(wù)器程序。#rpm-qaopenssh-server使用如下命令安裝OpenSSH服務(wù)器程序:#rpm-ivh/mnt/cdrom/Packages/openssh-server-5.3p1-84.1.el6.i686.rpm設(shè)置好OpenSSH配置文獻(xiàn)后,就可啟動OPenSSH服務(wù)程序#servicesshdstartLinux客戶端使用SSH登錄#ssh49將當(dāng)?shù)赜?jì)算機(jī)中名為upfile.txt的文獻(xiàn)復(fù)制到遠(yuǎn)程服務(wù)器中,放于root顧客的Home目錄中,詳細(xì)操作命令如下:#scpupfile.txt.0.1:目錄若只是查看遠(yuǎn)程服務(wù)器中root目錄中的文獻(xiàn)列表,詳細(xì)命令如下:#sshls-l在當(dāng)?shù)赜?jì)算機(jī)中輸入如下命令,登錄到遠(yuǎn)程服務(wù)器:#sftp.0.12.FTP服務(wù)器的配置設(shè)置一、設(shè)計(jì)目的在Linux操作系統(tǒng)之上架設(shè)vsftpd服務(wù)器并用自己的賬號登錄服務(wù)器,然后上傳文獻(xiàn)。二、設(shè)計(jì)內(nèi)容及規(guī)定1、下載對應(yīng)版本的vsftp服務(wù)器rpm包2、安裝vsftp服務(wù)器;3、配置vsftpd工作環(huán)境;4、啟動vsftpd服務(wù)器;5、vsftpd的常用配置;6、在Windows中登錄到vsftpd服務(wù)器;7、當(dāng)?shù)仡櫩团渲?;三、設(shè)計(jì)算法及流程內(nèi)容一:安裝vsftpd啟動虛擬機(jī),啟動系統(tǒng)進(jìn)入RedHatLinux9.0查看Vsftp服務(wù)與否安裝內(nèi)容二:配置vsftpd工作環(huán)境配置顧客和目錄配置顧客對于容許匿名訪問的FTP服務(wù)器,應(yīng)當(dāng)在其主機(jī)中創(chuàng)立名為ftp的顧客。此外,還需檢查與否有名為nobody的顧客??墒褂萌缦旅顧z查,若不存在這些顧客,需要此外創(chuàng)立。配置目錄對于ftp服務(wù)器來說,應(yīng)當(dāng)有一種公共目錄供顧客下載資料對于容許上傳文獻(xiàn)的FTP服務(wù)器,還應(yīng)當(dāng)設(shè)置具有上傳權(quán)限的目錄。1)在/var目錄中創(chuàng)立名為ftp的目錄,命令如下:(假如已經(jīng)存在該目錄,則忽視此步)#mkdir/var/ftp2)使用如下命令修改目錄ftp的所有者和權(quán)限:#chownroot.root/var/ftp#chmodog-w/var/ftp若容許匿名顧客上傳文獻(xiàn),應(yīng)當(dāng)創(chuàng)立一種供匿名顧客上傳文獻(xiàn)的目錄,并將該目錄的所有者和組改為ftp,詳細(xì)命令如下:#mkdir/var/ftp/upload#chownftp.ftp/var/ftp/upload內(nèi)容三啟動vsftpd1.這里使用standalone方式啟動vsftpd,需要修改文獻(xiàn):修改/etc/vsftpd/vsftpd.conf配置文獻(xiàn),將其中的listen=NO修改為listen=YES,表達(dá)使用獨(dú)立方式偵聽對ftp的訪問,如圖所示:在終端中輸入命令打開配置文獻(xiàn):#vi/etc/vsftpd/vsftpd.conf在vsftpd.conf文獻(xiàn)中修改了啟動方式后,需要重新啟動一次xinetd守護(hù)進(jìn)程,然后再使用獨(dú)立方式啟動vsftpd.#servicexinetdrestart#servicevsftpdstart2.查看與否已啟動vsftpd:#pstree|grepvsftpd使用netstat命令查看端口的使用狀態(tài),檢查21端口與否處在偵聽狀態(tài)內(nèi)容四、Vsftpd常用配置1.匿名顧客配置在對vsftpd.conf文獻(xiàn)配置之前,復(fù)制一種副本,如:#cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.v在vsftpd.conf配置文獻(xiàn)中,默認(rèn)是容許匿名顧客登錄FTP服務(wù)器的,不過不容許上傳文獻(xiàn)、不容許在服務(wù)器創(chuàng)立目錄。可使用如下命令修改該文獻(xiàn)中的有關(guān)選項(xiàng),變化匿名顧客權(quán)限容許匿名顧客登錄;容許匿名顧客上傳文獻(xiàn)。容許匿名顧客創(chuàng)立目錄。顧客登錄成功后顯示歡迎信息。在Windows中登錄到vsftpd服務(wù)器,并進(jìn)行有關(guān)操作。詳細(xì)環(huán)節(jié)如下:在Windows命令窗口輸入HYPERLINKftp49輸入ls-l,查看ftp目錄信息:接下來執(zhí)行mkdir命令,試著在FTP服務(wù)器中剛創(chuàng)立一種目錄。執(zhí)行成果如圖所示,可以看出,創(chuàng)立目錄失敗。匿名顧客要在FTP服務(wù)器端創(chuàng)立目錄,只能切換到有權(quán)限的upload目錄中才行,按下面命令進(jìn)行操作,即可在upload目錄中創(chuàng)立一種名為test的目錄。#cdupload#mkdirtest最終測試一下文獻(xiàn)的上傳功能,執(zhí)行以上命令完畢文獻(xiàn)的上傳:#putvsftpd-3.0.2.pre4.tar.gz內(nèi)容五:當(dāng)?shù)仡櫩团渲茫?)修改配置文獻(xiàn)/etc/vsftpd/vsftpd.conf#接受當(dāng)?shù)仡櫩蚻ocal_enable=YES#當(dāng)?shù)仡櫩蜕蟼魑墨I(xiàn)的umasklocal_umask=022(2)新建一種顧客:shj用來登錄ftp服務(wù)器(此處創(chuàng)立的顧客名用自己的名字)(3)重啟vsftp服務(wù)(4)用新建立的賬號登錄服務(wù)器四、程序運(yùn)行成果分析五、程序源代碼及注釋使用下面的命令創(chuàng)立顧客ftp,并設(shè)置其工作目錄為/var/ftp(該目錄在下面創(chuàng)立)#useradd-d/var/ftpftp在/var目錄中創(chuàng)立名為ftp的目錄,命令如下:(假如已經(jīng)存在該目錄,則忽視此步)#mkdir/var/ftp使用如下命令修改目錄ftp的所有者和權(quán)限:#chownroot.root/var/ftp#chmodog-w/var/ftp若容許匿名顧客上傳文獻(xiàn),應(yīng)當(dāng)創(chuàng)立一種供匿名顧客上傳文獻(xiàn)的目錄,并將該目錄的所有者和組改為ftp,詳細(xì)命令如下:#mkdir/var/ftp/upload#chownftp.ftp/var/ftp/upload取消防火墻:#serviceiptablesstop在終端中輸入命令打開配置文獻(xiàn):#vi/etc/vsftpd/vsftpd.conf在vsftpd.conf文獻(xiàn)中修改了啟動方式后,需要重新啟動一次xinetd守護(hù)進(jìn)程,然后再使用獨(dú)立方式啟動vsftpd.#servicexinetdrestart#servicevsftpdstart查看與否已啟動vsftpd:#pstree|grepvsftpd使用netstat命令查看端口的使用狀態(tài),檢查21端口與否處在偵聽狀態(tài),詳細(xì)命令如下:#netstat-anptul|grep21在對vsftpd.conf文獻(xiàn)配置之前,復(fù)制一種副本,如:#cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.v在Windows命令窗口輸入ftp49(虛擬機(jī)IP地址)匿名顧客要在FTP服務(wù)器端創(chuàng)立目錄,只能切換到有權(quán)限的upload目錄中才行,按下面命令進(jìn)行操作,即可在upload目錄中創(chuàng)立一種名為test的目錄。#cdupload#mkdirtest最終測試一下文獻(xiàn)的上傳功能,執(zhí)行以上命令完畢文獻(xiàn)的上傳:#putvsftpd-3.0.2.pre4.tar.gz修改配置文獻(xiàn)/etc/vsftpd/vsftpd.conf#接受當(dāng)?shù)仡櫩蚻ocal_enable=YES#當(dāng)?shù)仡櫩蜕蟼魑墨I(xiàn)的umasklocal_umask=0223.Samba服務(wù)器的配置一、設(shè)計(jì)目的架設(shè)一臺samba服務(wù)器,用來向局域網(wǎng)內(nèi)各客戶機(jī)提供軟件共享服務(wù)。二、設(shè)計(jì)內(nèi)容及規(guī)定1、按照Fedora4配套安裝samba軟件;2、創(chuàng)立目錄/usr/soft;3、修改/etc/samba/smb.conf文獻(xiàn);4、重啟samba服務(wù);三、設(shè)計(jì)算法及流程1. 按照Fedora4配套安裝samba軟件;現(xiàn)計(jì)劃架設(shè)一臺samba服務(wù)器,用來向局域網(wǎng)內(nèi)個(gè)客戶機(jī)提供軟件共享服務(wù),常用軟件的安裝包都寄存在服務(wù)器的/usr/soft目錄中,規(guī)定顧客只能從該目錄中讀取文獻(xiàn),而不能修改目錄中的文獻(xiàn)。此外,各客戶端還可以運(yùn)用samba服務(wù)器進(jìn)行臨時(shí)文獻(xiàn)互換,即任何顧客有權(quán)限將文獻(xiàn)寫到服務(wù)器的某一目錄(假設(shè)為tmpdoc)。2. 創(chuàng)立目錄/usr/soft,命令為:mkdir/usr/soft;3. 將目錄的訪問權(quán)限修改為755,命令為:chmod755/usr/soft;4. 將常用的軟件復(fù)制到目錄/usr/soft中;命令為cp…;5. 使用如下命令創(chuàng)立臨時(shí)的文獻(xiàn)互換目錄:mkdir/home/tmpdoc;6. 由于匿名顧客也能在/home/tmpdoc目錄中寫入數(shù)據(jù),需要將該目錄的屬性修改為nobody(samba中使用的匿名登錄,默認(rèn)的顧客名為nobody),詳細(xì)命令:chownnobody:nobody/home/tmpdoc;7. 修改/etc/samba/smb.conf文獻(xiàn)8.執(zhí)行如下命令重啟samba服務(wù):servicesmbrestart;9.接下來在windows中打開“網(wǎng)絡(luò)”窗口,在地址欄中輸入服務(wù)器的地址\\...,可以連接成功選中soft目錄中的文獻(xiàn),嘗試刪除,將提醒錯(cuò)誤信息,按照類似的措施打開tmpdoc目錄,試著創(chuàng)立目錄和文獻(xiàn),能創(chuàng)立成功。對以上各目錄進(jìn)行修改,規(guī)定各目錄到達(dá)如下功能:(1) soft目錄:保留常用的軟件,除了管理員admin之外,所有的顧客都只有讀的權(quán)限,admin可以向該目錄寫入文獻(xiàn),用來更新安裝軟件包;(2) tempdoc目錄:仍然作為臨時(shí)的文獻(xiàn)互換目錄,的有顧客都可以進(jìn)行讀寫操作。(3) tech目錄:保留技術(shù)部的資料,該目錄只有技術(shù)部的員工可以進(jìn)行讀寫操作,其他人員不能訪問(經(jīng)理manager可訪問該目錄,不能修改)。(4) market目錄:保留市場部的資料,該目錄只有市場部的員工可以進(jìn)行讀寫操作,其他人員不能訪問(經(jīng)理manager可訪問該目錄,不能修改)。11.使用如下命令創(chuàng)立兩個(gè)顧客組:#groupaddtech#groupaddmarket12.使用如下命令創(chuàng)立顧客:#useradd-s/sbin/nologinadmin#useradd-s/sbin/nologinmanager#useradd-gtech-s/sbin/nologinli#useradd-gmarket-s/sbin/nologinwang接著使用如下命令將各顧客添加到samba密碼文獻(xiàn)中,并設(shè)置密碼#smbpasswd–aadmin反復(fù)以上命令為每個(gè)顧客設(shè)置好密碼13.使用如下命令再創(chuàng)立兩個(gè)目錄:#mkidr/home/tech#mkidr/home/market14.market和tech目錄只有同組顧客有讀寫權(quán)限,其他顧客不能讀寫,使用如下命令設(shè)置兩個(gè)目錄的屬組:#chgrpmarket/home/market#chgrptech/home/tech15.經(jīng)理manager對兩個(gè)目錄都可以查看,但不能修改,假如將mamager添加到market和tech兩個(gè)組中,又具有了寫的權(quán)限,這里使用了一種技巧,將manager設(shè)置為兩個(gè)文獻(xiàn)夾的所有者,使用如下命令:#chownmanager/home/market#chownmanager/home/tech16.接著使用如下命令修改兩個(gè)目錄的權(quán)限:#chmod570/home/market#chmod570/home/tech17.由于/usr/soft目錄中admin需要有寫權(quán)限,因此使用如下命令將admin改為其屬主即可:#chownadmin/usr/soft18.由于所有的顧客都需要登錄,為了使所有顧客對tmpdoc目錄有寫權(quán)限,使用如下命令將該目錄的權(quán)限設(shè)置為777:#chmod777/home/tmpdoc19.通過以上準(zhǔn)備工作來編輯smb.conf配置文獻(xiàn)四、程序運(yùn)行成果分析五、程序源代碼及注釋創(chuàng)立目錄/usr/soft,命令為:mkdir/usr/soft;將目錄的訪問權(quán)限修改為755,命令為:chmod755/usr/soft;將常用的軟件復(fù)制到目錄/usr/soft中;命令為cp…;使用如下命令創(chuàng)立臨時(shí)的文獻(xiàn)互換目錄:mkdir/home/tmpdoc;由于匿名顧客也能在/home/tmpdoc目錄中寫入數(shù)據(jù),需要將該目錄的屬性修改為nobody(samba中使用的匿名登錄,默認(rèn)的顧客名為nobody),詳細(xì)命令:chownnobody:nobody/home/tmpdoc;修改/etc/samba/smb.conf文獻(xiàn),刪除本來的內(nèi)容,輸入如下內(nèi)容:#==============================Globalsettings=============================[global]workgroup=WORKGROUPserverstring=SambaServerVersion%vsecurity=sharelogfile=/var/log/samba/log.%mmaxlogsize=50#==============================ShareDefinitions===========================[soft] Comment=softpath=/usr/softpublic=yeswritable=no[tempdoc]comment=tempdocspath=/home/tmpdocpublic=yeswritable=yes執(zhí)行如下命令重啟samba服務(wù):servicesmbrestart;使用如下命令創(chuàng)立兩個(gè)顧客組:#groupaddtech#groupaddmarket12.使用如下命令創(chuàng)立顧客:#useradd-s/sbin/nologinadmin#useradd-s/sbin/nologinmanager#useradd-gtech-s/sbin/nologinli#useradd-gmarket-s/sbin/nologinwang接著使用如下命令將各顧客添加到samba密碼文獻(xiàn)中,并設(shè)置密碼#smbpasswd–aadmin反復(fù)以上命令為每個(gè)顧客設(shè)置好密碼使用如下命令再創(chuàng)立兩個(gè)目錄:#mkidr/home/tech#mkidr/home/marketmarket和tech目錄只有同組顧客有讀寫權(quán)限,其他顧客不能讀寫,使用如下命令設(shè)置兩個(gè)目錄的屬組:#chgrpmarket/home/market#chgrptech/home/tech經(jīng)理manager對兩個(gè)目錄都可以查看,但不能修改,假如將mamager添加到market和tech兩個(gè)組中,又具有了寫的權(quán)限,這里使用了一種技巧,將manager設(shè)置為兩個(gè)文獻(xiàn)夾的所有者,使用如下命令:#chownmanager/home/market#chownmanager/home/tech接著使用如下命令修改兩個(gè)目錄的權(quán)限:#chmod570/home/market#chmod570/home/tech由于/usr/soft目錄中admin需要有寫權(quán)限,因此使用如下命令將admin改為其屬主即可:#chownadmin/usr/soft由于所有的顧客都需要登錄,為了使所有顧客對tmpdoc目錄有寫權(quán)限,使用如下命令將該目錄的權(quán)限設(shè)置為777:#chmod777/home/tmpdoc通過以上準(zhǔn)備工作來編輯smb.conf配置文獻(xiàn):#=====================GlobalSetting==================[global]workgroup=WORKGROUPserverstring=SambaServersecurity=userlogfile=/var/log/samba/%m.logmaxlogsize=50======================ShareDefinitions================[soft]comment=softpath=/usr/softpublic=yeswritable=nowritelist=amdin[tempdoc]comment=tempdocspath=/home/tmpdocpublic=yeswritable=yes[market]comment=marketdirectorypath=/home/marketpublic=nowritelist=@marketvalidusers=@market,manager[tech]comment=techdirectorypath=/home/techpublic=nowritelist=@techvalidusers=@tech,manager4.Linux進(jìn)程間的通信一、設(shè)計(jì)目的理解消息隊(duì)列、信號機(jī)制,完畢進(jìn)程間的通信。二、設(shè)計(jì)內(nèi)容及規(guī)定編寫程序,使其實(shí)現(xiàn)進(jìn)程的軟中斷通信。規(guī)定:使用系統(tǒng)調(diào)用結(jié)合signal函數(shù)、消息隊(duì)列編寫程序,實(shí)現(xiàn)如下功能:啟動兩個(gè)終端分別實(shí)現(xiàn)消息的發(fā)送與接受,當(dāng)消息的發(fā)送者按下鍵盤的按鍵“ctrl+c”,發(fā)送者進(jìn)程檢測到后該信號后變化本來的殺死進(jìn)程的功能,改為向接受者進(jìn)程發(fā)送“ctrl+c”字符串,接受者進(jìn)程收到“ctrl+c”后關(guān)閉接受者進(jìn)程的終端。三、設(shè)計(jì)算法及流程啟動兩個(gè)終端分別實(shí)現(xiàn)消息的發(fā)送與接受,當(dāng)消息的發(fā)送者按下鍵盤的按鍵“ctrl+c”,發(fā)送者進(jìn)程檢測到后該信號后變化本來的殺死進(jìn)程的功能,改為向接受者進(jìn)程發(fā)送“ctrl+c”字符串,接受者進(jìn)程收到“ctrl+c”后關(guān)閉接受者進(jìn)程的終端。四、程序運(yùn)行成果分析五、程序源代碼及注釋/*msgrcv.c*/#include<sys/types.h>#include<sys/ipc.h>#include<sys/msg.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#defineBUFFER_SIZE 512constcharyy[]="Ctrl+C";structmessage{ longmsg_type; charmsg_text[BUFFER_SIZE];};intmain(){ intqid; key_tkey; structmessagemsg; msg.msg_text[0]=0; /*根據(jù)不一樣的途徑和關(guān)鍵表達(dá)產(chǎn)生原則的key*/ if((key=ftok(".",'a'))==-1) { perror("ftok"); exit(1); } /*創(chuàng)立消息隊(duì)列*/ if((qid=msgget(key,IPC_CREAT|0666))==-1) { perror("msgget"); exit(1); } printf("Openqueue%d\n",qid); do { /*讀取消息隊(duì)列*/ memset(msg.msg_text,0,BUFFER_SIZE); if(msgrcv(qid,(void*)&msg,BUFFER_SIZE,0,0)<0) { perror("msgrcv"); exit(1); } printf("Themessagefromprocess%d:%s",msg.msg_type,msg.msg_text); if(!strcmp(msg.msg_text,yy)) { printf("\n"); return0; } if(!strncmp(msg.msg_text,"ls",2)) system(msg.msg_text); }while(strncmp(msg.msg_text,"quit",4)); /*從系統(tǒng)內(nèi)核中移走消息隊(duì)列*/ if((msgctl(qid,IPC_RMID,NULL))<0) { perror("msgctl"); exit(1); } exit(0);}/*msgsnd.c*/#include<sys/types.h>#include<sys/ipc.h>#include<sys/msg.h>#include<signal.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#defineBUFFER_SIZE 512constcharyy[]="Ctrl+C";structmessage{ longmsg_type; charmsg_text[BUFFER_SIZE];};structmessagemsg;intqid;intflag=0;voidsig_pri(intsig){ strcpy(msg.msg_text,yy); msgsnd(qid,&msg,strlen(msg.msg_text),0); flag=1;}intmain(){ key_tkey; /*根據(jù)不一樣的途徑和關(guān)鍵表達(dá)產(chǎn)生原則的key*/ if((key=ftok(".",'a'))==-1) { perror("ftok"); exit(1); } /*創(chuàng)立消息隊(duì)列*/ if((qid=msgget(key,IPC_CREAT|0666))==-1) { perror("msgget"); exit(1); } printf("Openqueue%d\n",qid); while(1) { signal(SIGINT,&sig_pri);//ctrl+c if(flag) continue; printf("Entersomemessagetothequeue(enter'quit'toexit):"); if(strcmp(msg.msg_text,yy)==0) { msgsnd(qid,&msg,strlen(msg.msg_text),0); continue; } if((fgets(m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版辦公家具展會租賃與銷售合作合同3篇
- 二零二五年度武漢東湖風(fēng)景區(qū)旅游開發(fā)合同3篇
- 二零二五年度藝術(shù)品共同創(chuàng)作與展覽合同2篇
- 二零二五版房屋租賃合同免責(zé)及維修保障3篇
- 二零二五版燈光照明工程設(shè)計(jì)咨詢合同2篇
- 二零二五版班組分包消防設(shè)施分包服務(wù)合同樣本3篇
- 二零二五版新媒體行業(yè)勞動合同制度及知識產(chǎn)權(quán)保護(hù)協(xié)議2篇
- 二零二五年空調(diào)銷售與綠色消費(fèi)倡導(dǎo)合同3篇
- 二零二五年度鋼管模板租賃環(huán)保要求及價(jià)格評估合同3篇
- 二零二五版網(wǎng)絡(luò)安全威脅情報(bào)共享與預(yù)警服務(wù)合同范本3篇
- 2024年安徽省合肥市瑤海區(qū)中考語文一模試卷
- 單位車輛變更名稱的委托書
- 粉塵外協(xié)單位清理協(xié)議書
- 2023年12月首都醫(yī)科大學(xué)附屬北京中醫(yī)醫(yī)院面向應(yīng)屆生招考聘用筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 茶室經(jīng)營方案
- 軍隊(duì)文職崗位述職報(bào)告
- 小學(xué)數(shù)學(xué)六年級解方程練習(xí)300題及答案
- 電抗器噪聲控制與減振技術(shù)
- 中醫(yī)健康宣教手冊
- 2024年江蘇揚(yáng)州市高郵市國有企業(yè)招聘筆試參考題庫附帶答案詳解
- 消費(fèi)醫(yī)療行業(yè)報(bào)告
評論
0/150
提交評論