新聞中心
隨著計算機技術(shù)的不斷發(fā)展,操作系統(tǒng)已經(jīng)成為了計算機系統(tǒng)中不可或缺的一部分。而進程是操作系統(tǒng)中最基本也是最重要的概念之一。追根溯源,操作系統(tǒng)的本質(zhì)其實就是對進程的管理和控制。由于Linux操作系統(tǒng)應(yīng)用廣泛,因此Linux進程控制便成為了寶貴的資產(chǎn)。在這篇文章中,我將會分享我在學(xué)習(xí)Linux進程控制方面的心得。

10余年的博州網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整博州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“博州網(wǎng)站設(shè)計”,“博州網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
進程是什么?
在我們深入研究Linux進程控制之前,首先需要了解進程的概念。簡單來說,進程是正在運行的程序的一個實例。在Linux操作系統(tǒng)中,每個進程都有一個唯一的進程ID(PID),該ID由系統(tǒng)自動生成。
進程的狀態(tài)
進程的運行狀態(tài)可以被分為三類:運行狀態(tài)(Running),就緒狀態(tài)(Ready),以及阻塞狀態(tài)(Blocked)。
– 運行狀態(tài):指進程正在執(zhí)行的狀態(tài);
– 就緒狀態(tài):指進程已經(jīng)準備好執(zhí)行,但是當時CPU資源已經(jīng)被其他進程占用時,為了排隊,只能等待;
– 阻塞狀態(tài):指進程在等待一些事件的發(fā)生,如等待輸入/輸出(I/O)操作完成或等待信號量解鎖等等,該進程被阻塞,無法執(zhí)行。
進程的控制
進程的控制是指應(yīng)用程序在運行時,進程的創(chuàng)建、運行和銷毀的過程。Linux操作系統(tǒng)提供了多種API函數(shù)和系統(tǒng)調(diào)用,可以使程序員通過代碼來操控進程。在這里,我將著重介紹進程的創(chuàng)建、運行和銷毀這幾個方面。
1. 進程的創(chuàng)建
在Linux中,創(chuàng)建進程有兩種方式:
1.1 fork()函數(shù)
fork()函數(shù)是一個系統(tǒng)調(diào)用,它有一個返回值,如果是在父進程中執(zhí)行,那么fork()函數(shù)返回的是子進程的PID,如果在子進程中執(zhí)行,那么fork()函數(shù)返回的則是0。下面是fork()函數(shù)的示例代碼:
“`
#include
#include
int mn() {
pid_t pid;
pid = fork();
if(pid == 0) {
printf(“In child process.\n”);
} else {
printf(“In parent process. Child PID:%d\n”,pid);
}
return 0;
}
“`
1.2 exec()函數(shù)族
exec()函數(shù)族可以用來啟動其他的進程,與fork()函數(shù)不同的是,exec()函數(shù)族調(diào)用成功后,原先進程中的代碼被替換為新的執(zhí)行程序,也就是說調(diào)用exec()函數(shù)后,原進程已經(jīng)不存在了,只剩下新產(chǎn)生的進程。exec()函數(shù)族一共有6個函數(shù),下面是它們的名稱以及用法:
2. 進程的運行
進程的運行是指進程狀態(tài)變?yōu)镽unning狀態(tài),開始執(zhí)行任務(wù)或程序。
2.1 wt()函數(shù)
wt()函數(shù)是父進程用來等待子進程的結(jié)束的函數(shù)。下面是wt()函數(shù)的示例代碼:
“`
#include
#include
#include
#include
int mn() {
pid_t pid;
int status;
pid = fork();
if(pid == -1) {
perror(“fork fled.”);
exit(EXIT_FLURE);
}
if(pid == 0) {
printf(“In child process.\n”);
exit(EXIT_SUCCESS);
} else {
printf(“In parent process. Child PID:%d\nWting for child process to complete…\n”,pid);
wt(&status);
if(WIFEXITED(status)) {
printf(“Child process exited normally with code:%d\n”,WEXITSTATUS(status));
}
if(WIFSIGNALED(status)) {
printf(“Child process was terminated by signal with signal num:%d\n”,WTERMSIG(status));
}
}
return 0;
}
“`
2.2 exec()函數(shù)族
在進程運行狀態(tài)中,如若想要替換進程的執(zhí)行文件,可以使用exec()函數(shù)族。這些函數(shù)都是用來執(zhí)行其他的可執(zhí)行程序,調(diào)用了函數(shù)后,進程運行狀態(tài)被改變?yōu)樾碌某绦虻倪\行狀態(tài)。
3. 進程的銷毀
銷毀進程的主要目的是為了釋放已經(jīng)被占用的內(nèi)存、緩存等資源。在Linux中,進程的銷毀有以下三種方法:
3.1 exit()函數(shù)
exit()函數(shù)是一個系統(tǒng)調(diào)用,它用來終止正在調(diào)用的進程。該函數(shù)可以使用0-255(8bit)范圍內(nèi)的整數(shù)值作為退出碼,這個退出碼的值可以被其他進程收集和使用。
3.2 kill()函數(shù)
kill()函數(shù)的作用是向指定PID進程發(fā)送指定信號。如果進程接收到該信號,進程便會被銷毀。kill()函數(shù)的常用信號有:
3.3 abort()函數(shù)
abort()函數(shù)用于向系統(tǒng)發(fā)送SIGABRT信號,該信號會致使進程強制終止。
結(jié)語
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
linux論文
我是一個LINUXD的初學(xué)者,在看了N篇LINUX的介紹之后,在本著大膽和心細的原則下,嘗試了一回安裝LINUX?,F(xiàn)把我的一些心得和體會和大家分享,希望對一些入門級的兄弟姐妹有所幫助。
我裝的是RED
HAT
LINUX
9.0,我原來的操作系統(tǒng)是WIN2023,本著學(xué)習(xí)LINUX的和省錢至上的想法,我選擇了安裝2023和LINUX的雙系統(tǒng),我在我們的校園網(wǎng)上下載了LINUX的3CD印象文件(就是ISO文件),先保存在隨意的一個硬盤里,只要不是你要準備裝LINUX
的那個硬盤就行。然后開始對你的硬盤分區(qū),關(guān)于怎么個分法,這一類的文章相信用GOOGLE一搜,肯定好幾十頁,我就是這么看了兩天的。在這里我講一下實際操作。
你首先要有一個未使用的分區(qū),就是空的分區(qū),并且保證這個分區(qū)是你邏輯分區(qū)的最后的分區(qū)。當然,其他也不是一定不可以,但是等你裝好LINUX后,那么原先的分區(qū)文件的注冊表將遭到破壞,所以我建議更好還是把最后的那個分區(qū)清空,空間嗎喊搭,根據(jù)要安裝的類型而定,我建議10G,反正現(xiàn)在的硬盤都挺大的,要是空間有問題,那就請PQMAGIC來幫忙吧,不會破壞原來的文件。
再下來是做一些準備工作,更好準備一些系統(tǒng)設(shè)備的信息,比如鍵盤類型,鼠標型號什么什么的,在系統(tǒng)的設(shè)備管理欄都有顯示,你要是嫌麻煩,還有更簡便的,用系統(tǒng)優(yōu)化大師,保存所有系統(tǒng)信息,然后打印。一般在安裝的時候用不了那么多,但有備無患嘛。呵呵!然后有兩種方法可以引導(dǎo)系統(tǒng)的安裝程序,看你怎么選擇,之一就是從進入DOS,在DOS下啟動AUTOBOOT命令(通常在光盤的之一張碟里有個dosutils文件,用虛擬光驅(qū)工具把它COPY出來,保存好,在DOS下就從這個路徑啟動AUTOBOOT命令)。還有一種方法就是做一張引導(dǎo)軟盤,做引導(dǎo)軟盤的文章很多,我這里就不講了。從DOS啟動特點是方便,用蘆告引導(dǎo)軟盤呢,做盤麻煩一點,做好盤以后,插入盤就點重啟,就可以等著進入安裝界面了。選哪一種就看個人愛好了!不妨,兩個都準備好。:)
在進入安裝界面后,有詢問ISO文件位置,鍵盤類型,語言,安裝類型的對話界面,一路選好后就到了選擇安裝目標位置的地方,這個地方一定要謹慎!首先選中你準備安裝LINUX的分區(qū),刪除它!再重新分配這個空間,建議分兩個區(qū),一個根分區(qū),掛載點為“/”,類型選EXT3。另一個分區(qū)為交換分區(qū),類型是陪滲明SWAP,大小是你內(nèi)存大小的一到兩倍。假如你有很多用戶,或是有很多用途,還可以分一些BOOT區(qū)、URS區(qū)等等,請參照其它一些相關(guān)說明文章,我沒有用,在這里也就不敢瞎說了,呵呵!
在后來有選擇軟件包和鼠標類型的對話界面,很輕松就可以搞定了,后來有一個界面是決定LILO的安裝位置的,LILO是一個雙系統(tǒng)引導(dǎo)程序,假如你已經(jīng)有了2023或其他的WIN操作系統(tǒng),我建議你把它裝在MBR,也就是整個硬盤的引導(dǎo)區(qū)。要是你不怕麻煩也可以把它裝在LINUX的根分區(qū),以后可以通過設(shè)置LINUX分區(qū)為活動分區(qū),達到引導(dǎo)雙系統(tǒng)的目的。最后你就等機器慢慢安裝吧,時間視機器速度而定,我的128內(nèi)存,用了40分鐘左右,最后安裝好了,會提示是否創(chuàng)建啟動盤,我和LINUX的建議一樣,強烈建議建一個,以后大有用處??!
經(jīng)過一大段的OK之后,你就正式進入LINUX了。在之一次進入LINUX時候,系統(tǒng)回要求你做一些回答,很簡單,幾乎一路點下去就可以了。再往后就要看你怎么去跑你的REDHAT了。
Linux系統(tǒng)使用越來越廣泛,關(guān)系Linux的安全越來越受到人們的重視,本文結(jié)合筆者在Linux系統(tǒng)安全管理方面的一些經(jīng)驗體會,從賬戶、密碼策略、文件權(quán)限,日志管理、遠程訪問等5個方面,對linux系統(tǒng)安全談?wù)勛约旱捏w會,供大家參考。
一、引言
隨著Internet/Intranet網(wǎng)絡(luò)的日益普及,Linux作為一個現(xiàn)代的操作系統(tǒng),正在各個方面得到廣泛的應(yīng)用。Linux在服務(wù)器、嵌入式等方面已經(jīng)取得不俗的成績,在桌面系統(tǒng)方面,也逐漸受到歡迎。于是Linux的安全問題也逐漸受到人們的重視。
Linux是一個開放式系統(tǒng),可以在網(wǎng)絡(luò)上找到許多現(xiàn)成的程序和工具,這既方便了用戶,也方便了黑客,因為他們也能很容易地找到程序和工具來潛入 Linux系統(tǒng),或者盜取Linux系統(tǒng)上的重要信息。因此,詳細分析Linux系統(tǒng)的安全機制,找出它可能存在的安全隱患,給出相應(yīng)的安全策略和保護措施是十分必要的。針對Linux的基本安全防護,筆者這里稍做介紹。
二、Linux系統(tǒng)的安全策略
1.Linux系統(tǒng)的用戶賬號策略
管理員的工作中,相當重要的一環(huán)就是管理賬號。在管理 Linux 主機的賬號時,一個最重要的方面就是確保每一個UID僅僅使用一次。
另外就是設(shè)置有限的登陸次數(shù)來預(yù)防無休止的登陸攻擊,通過編輯/etc/pam.d/system-auth,添加下面兩句可以設(shè)置賬戶最多連續(xù)登陸5次,超過5次賬戶將被鎖定,只有管理員才能幫助解鎖。
auth required pam_tally.so deny=5
account required pam_tally.so
2.密碼策略要求
(1)口令時效和口令長度的設(shè)置??诹顣r效和口令長度是一種系統(tǒng)機制,用于強制口令在特定的時間長度后失效。對用戶來說,這可能帶來了一些麻煩,但是它確保了口令會定期進行更改,是一項很好的安春巖判全措施。默認情況下,絕大多數(shù)的Linux版本并沒有打開口令時效,不過要想打開卻非常簡單。通過編輯/etc/login.defs,你可以指定幾個參數(shù),來設(shè)置口令實效和口令長度的默認設(shè)定:
PASS_MAX_DAYS99999
PASS_MIN_DAYS 0
PASS_MIN_LEN5
PASS_WARN_AGE7
當設(shè)置口令時效的天數(shù)為99999時,實際上相當于關(guān)閉了口令時效。一般設(shè)定為90天或者更短時間來更改一次。PASS_MIN_DAYS參數(shù)則設(shè)定了在本次密碼修改后,下次允許更改密碼之前所需的最少天數(shù)。PASS_MIN_LEN是指密碼設(shè)置的最小長扒改度,一般定義為8位以上。PASS_WARN_AGE的設(shè)定則指明了在口令失效前多少天開始通知用戶更改密碼(一般在用戶剛剛登陸系統(tǒng)時就會收到警告通知)。
(2)控制密碼使用頻率??刂七m度的密碼重用頻率,也可以為密碼的安全策略提供良好的保護,可以通過編輯/etc/pam.d/system-auth設(shè)定密碼重用。一般棗侍設(shè)置重用密碼前更換密碼的最小次數(shù)為4次。
password required pam_unix.so remember=3 use_authtok md5 shadow 或者 password sufficient pam_unix.so remember=3 use_authtok md5 shadow。
3.Linux的基本文件權(quán)限要求
Linux中每一個文件都具有特定的屬性,主要包括文件類型和文件權(quán)限兩個方面??梢苑譃?種不同的類型:普通文件、目錄文件、鏈接文件、設(shè)備文件和管道文件。所謂的文件權(quán)限,是指對文件的訪問權(quán)限,包括對文件的讀、寫、刪除、執(zhí)行。Linux 是一個多用戶操作系統(tǒng),它允許多個用戶同時登錄和工作。因此正確的文件權(quán)限設(shè)定是非常重要的。與系統(tǒng)安全關(guān)系較為密切的幾個文件目錄權(quán)限設(shè)置要求如下表:
4.Linux日志文件管理
日志對于系統(tǒng)安全來說,非常重要,它記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,你可以通過它來檢查錯誤發(fā)生的原因,或者受到攻擊時攻擊者留下的痕跡。因此,保護系統(tǒng)日志安全,不被內(nèi)部用戶或外部入侵者修改或刪除顯得尤為重要。
在Linux系統(tǒng)中,有三個主要的日志子系統(tǒng):
連接時間日志——由多個程序執(zhí)行,把紀錄寫入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系統(tǒng)管理員能夠跟蹤誰在何時登錄到系統(tǒng)。
進程統(tǒng)計——由系統(tǒng)內(nèi)核執(zhí)行。當一個進程終止時,為每個進程往進程統(tǒng)計文件(pacct或acct)中寫一個紀錄。進程統(tǒng)計的目的是為系統(tǒng)中的基本服務(wù)提供命令使用統(tǒng)計。
錯誤日志——由syslogd(8)執(zhí)行。各種系統(tǒng)守護進程、用戶程序和內(nèi)核通過syslog(3)向文件/var/log/messages報告值得注意的事件。另外有許多UNIX程序創(chuàng)建日志。像HTTP和FTP這樣提供網(wǎng)絡(luò)服務(wù)的服務(wù)器也保持詳細的日志。
Linux的日志文件很多,但是/var/log/wtmp,/var/log/messages,/var/log/faillog(權(quán)限設(shè)置為600) ,/var/log/secure (如果是Debian,/var/log/auth.log將代替它)更好是存在的。
如果服務(wù)器支持很多的用戶的話,這些日志文件的大小會很快地增加,在服務(wù)器硬盤不是非常充足的情況下,必須采取措施限制日志文件的大小,定期做好日志備份和清除是非常重要的。
5.Linux的遠程登錄:使用OPENSSH代替FTP和Telnet
我們通常使用的網(wǎng)絡(luò)傳輸程序FTP和Telnet等在本質(zhì)上都是不安全的,因為它們在網(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),黑客利用嗅探器非常容易截 獲這些口令和數(shù)據(jù)。SSH的英文全稱是Secure SHell。通過使用SSH,用戶可以把所有傳輸?shù)臄?shù)據(jù)進行加密,這樣即使網(wǎng)絡(luò)中的黑客能夠劫持用戶所傳輸?shù)臄?shù)據(jù),如果不能解密的話,也不能對數(shù)據(jù)傳輸構(gòu)成真正的威脅。另外,傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣?。SSH有很多功能,它既可以代替Telnet,又可以為FTP提供一個安全的“傳輸通道”。在不安全的網(wǎng)路通信環(huán)境中,它提供了很強的驗證機制與非常安全的通信環(huán)境。SSH(Secure Shell)最初由芬蘭的一家公司開發(fā),但由于受版權(quán)和加密算法的限制,很多人轉(zhuǎn)而使用免費的替代軟件OpenSSH。命令行使用OPENSSH比較麻煩。這里介紹gFTP和OPENSSH整合在一齊,提供一個圖形化加密傳輸方案。gFTP和Windows下的 CuteFTP一樣使用非常簡單,而且?guī)缀跛械腖inux發(fā)行版本都帶有g(shù)FTP,不需要安裝就可以使用本論文由無憂論文網(wǎng)整理提供 。Windows下支持SSH的客戶端軟件不少,推薦使用Putty和Filezilla。
目前很多公司企業(yè)對信息安全問題日益重視,完善的信息安全控制架構(gòu),先進的管理和技術(shù)的結(jié)合,才能真正滿足公司企業(yè)的需要。
參考文獻:
王一川 Linux黑客大曝光:Linux安全機密與解決方案.清華大學(xué)出版社,2023~10~1
汪 輝等:Linux安全更大化(第二版).電子工業(yè)出版社, 2023~1~1
前導(dǎo)工作室 Linux安全:入侵防范、檢測、恢復(fù).機械工業(yè)出版社,2023~1~1
本論文由無憂論文網(wǎng)整理提供
嘿嘿,我們一個老師,我也在找這題目,南昌大學(xué)
南昌大學(xué)的吧,選修課的論文吧。嘿嘿
關(guān)于linux進程控制 心得的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
網(wǎng)站欄目:Linux進程控制:我的心得(linux進程控制心得)
鏈接分享:http://fisionsoft.com.cn/article/cojojdg.html


咨詢
建站咨詢
