新聞中心
作為一名Linux系統管理員,進程是一個不可避免的話題。了解進程,掌握進程相關的操作技巧,對于我們維護系統的穩(wěn)定性、排查故障非常重要。本文將深入探索Linux進程實例,并介紹如何輕松掌握操作技巧。

為西峰等地區(qū)用戶提供了全套網頁設計制作服務,及西峰網站建設行業(yè)解決方案。主營業(yè)務為網站制作、成都網站設計、西峰網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
一、什么是進程?
進程是操作系統中的一個重要概念,一個運行中的程序就是一個進程。在Linux中,每個進程都有一個唯一的進程ID(PID),而且進程可以運行在不同的權限級別下。有些進程是系統進程,比如內核線程;有些進程是用戶進程,比如我們自己的應用程序。
二、如何查看進程?
在Linux中,我們可以使用ps命令來查看當前進程。以下是ps命令的一些常用選項:
– ps aux:列出當前系統中所有的進程信息;
– ps -ef:與ps aux相似,但是格式略有不同,可以用于查看進程樹的層次結構;
– ps -C :查找指定進程名的進程信息;
– ps -p :查看指定PID的進程信息,常常用于查看指定進程是否存在。
三、如何管理進程?
在Linux中,我們可以使用kill命令來結束進程的運行。以下是kill命令的一些常用選項:
– kill -SIGTERM :向指定進程發(fā)送終止信號,相當于在Windows中點擊“結束進程”按鈕;
– kill -SIGKILL :向指定進程發(fā)送強制終止信號,相當于在Windows中強制關閉進程;
– killall :結束指定進程名的所有進程。
除了kill命令,我們還可以使用top命令來查看當前系統中的運行情況,以及查看每個進程的資源占用情況。以下是top命令的一些常用選項:
– top -u :只顯示指定用戶的進程信息,常常用于查看某個用戶所使用的系統資源;
– top -d :指定top命令的刷新時間,常常用于實時監(jiān)控系統運行情況;
– top -p :只顯示指定PID的進程信息。
四、如何調試進程?
在Linux中,我們可以使用strace命令來跟蹤進程的執(zhí)行過程,并查看系統調用的參數,查找程序中的錯誤。以下是strace命令的一些常用選項:
– strace -p :跟蹤指定PID的進程執(zhí)行過程;
– strace -o :將strace輸出的內容寫入指定的文件中,方便進行分析;
– strace -c :統計strace輸出的結果,方便查看系統調用的使用情況。
除了strace命令,我們還可以使用gdb命令來進行進程調試。gdb是一個強大的調試工具,可以幫助我們查找程序中的錯誤。以下是gdb命令的一些常用選項:
– gdb :使用gdb調試指定的可執(zhí)行文件,可以在gdb中輸入命令進行調試;
– gdb -tui :使用gdb調試指定的可執(zhí)行文件,并打開圖形界面,方便進行調試;
– gdb -ex “” :直接在gdb中執(zhí)行指定的命令,方便進行快速調試。
相關問題拓展閱讀:
- Linux 怎么根據進程號,找對應的進程!
- Linux終止前臺進程的命令
- Linux后臺進程
Linux 怎么根據進程號,找對應的進程!
pe -eLf | grep PID
或者是
ls -l /proc/PID/皮伍兄exe 這橘蘆樣可以燃襲看到.
1、Linux根據進程號查詢相應的進程信息,可以使用ps命令的-q參數來進行查詢。
2、舉汪液例來說,已知進程號為12840,查詢其相應的進程。
ps -q 12840
說明:-q參數是ps的快速模式,使用該參數可以從pidlist中快速的讀取必要的進程信息。后面接困咐物進程號簡山,即pid號。
也可以使用如下命令只打印命令,也就是只顯示進程名稱:
ps -qo comm=
說明:-o是指明輸出的格式,comm=即輸出格式只輸出comand,即只顯示進程的名稱。
1)說明:
Linux的所團猜喚有進程都兆頌保存在/proc/目錄下,保存形式為:/proc/進程號。進入到進程號目錄后,里面有一個cwd鏈接文件即指向的進程的的目錄。
2) 操作:
A:確定進程號。如:4874;
B:查找進程執(zhí)行的文件。ps aux | grep 4874;
C:確定進程塌凱所在的目錄。ll /proc/4874;
Linux根據進程號查詢相應的進程信息,可以使用ps命令的-q參數來進行查詢。
有很多用戶喜歡用兩個屏幕,尤其是程序員、游戲玩家、視頻制作者等,可以說雙屏顯示,游戲工作,兩不誤。那么電腦設置雙屏顯示或多屏顯示有什么用?怎么設置雙屏或多屏顯示呢?下面小編簡單介紹一下它的作用以及具體的操作方法吧!
雙基棚屏顯示器有什么好處(電腦)
1、大屏幕拼接
(拼接計算機圖形,拼接動態(tài)視頻)投影墻;公安、軍事、鐵路、交通、航天、郵電、衛(wèi)星發(fā)射等指揮調度系統;圖形圖像編輯,三維動畫,多媒體設計;工業(yè)領域的過程控制;證券交易、期貨、銀行信息顯示;CAD/CAM設計,排版編輯系統,視頻圖象編輯。
2、文件編輯:
制作企劃案文件資料時,同時參考搜尋相關網絡資料,不會因為切換視窗而造成資料混亂。
3、繪圖編輯:
使用繪圖軟件設計案件時,同時開啟參考文案窗口,也可以延伸桌面,方便處理大型設計稿制作,與校對的窗口完全不重疊。
4、影視娛樂:
(1)收看網絡電視,同時瀏覽其它頻搏清則道的節(jié)目介紹,精彩節(jié)目不錯過。
(2)玩在線游戲時,可同步對照游戲攻略的密技。
5、 辦公室 :
(1)橫跨兩個以上的屏幕檢視大型表格(如EXCEL圖表)。
(2)在延伸出的桌面空間上同時開啟多個程序,不需頻繁地切換使用窗。
(3)讀取電子郵件并同時在其它屏幕開啟附件檔案。
6、程序設計:
撰寫復雜的程序時,另外一個窗口同時檢視程序執(zhí)行結果畫面,方便進行更新修改。
以上就是雙屏電腦的好處了,大家現在對于雙屏電腦是不是也有所了解了呢?看到小編為大家列舉的都是雙屏電腦的好處是不是有些心動呢?下面一起來看看如何設置吧!
一、硬件要求(以Win10系統為案例)
1、電腦主機必須具備VGA/DVI/HDMI任意兩路輸出的獨立顯卡接口(一般入門級顯卡就支持),如下圖所示:
2、準備VGA/DVI/HDMI任意兩根線,顯示輸出接口對應的連接線外觀圖如下所示:
3、兩個顯示器,支持VGA/DVI/HDMI任意兩種接口(否則需要VGA轉換器接頭)
二、雙屏操作步驟
1、首先把外接顯示器與電腦顯卡接口通過VGA/DVI/HDMI任意兩種線相連接。
2、連接成功后,進入電腦系統桌面,鼠標右擊桌面空白處選擇【顯示設置】
3、如果連接成功就可以看到顯示器有2個
4、顯示界面找到【多顯示器設置】下方選擇【擴展這些顯示器】,然后兩個顯示器就可以正常顯示了。
5、如果線路檢測沒問題仍然顯示不出來,那么鼠標 右擊桌面選擇【 NVIDIA 控制面板 】
6、找到【設置多個顯示器】,然后勾選我們希望使用的顯示器,這樣就可以 了。
三、多屏顯示方法
硬件要求:
除了支持雙屏的硬件條件之外,部分電腦需要進BIOS設置查找相關選項,若無法找到,說明主板不支持,請參考下面操作。
進BIOS操作步驟:
1、開機進入BIOS,找到【Devices】-【Video Setup】選項,敲擊Enter回車按鍵;
2、選擇【Select Active Video】選項設置成【IGD】模式,并將【Multi-Monitor Support】選項設置成【Enabled】模正肢式;
3、設置完成后,點擊F10鍵,選擇【Yes】進行保存;
4、重啟進入操作系統后,在桌面空白處右鍵,從菜單中找到集成顯卡控制臺程序,進行多屏顯示設置即可。
1、Linux根據漏卜叢進程號查詢相應的進程信息,可以使用ps命令的-q參數來進行查詢。
2、舉例來說,已知進程號為12840,查詢其相應的進程。
ps -q 12840
說明:-q參數是ps的快速模式,使用該參弊橋數可以從pidlist中快速的讀取必要的進程信息。后面接進程號,即pid號。
也可以使用如下命令只打印命令,也就是只顯示進程名稱:
ps -qo comm=
說明:-o是指明輸出的格式,comm=即輸出格式只輸出comand,即只顯示進程的名稱。1)說明:
Linux的所有進程都保存在/proc/目錄下,保存形式為:/proc/進返櫻程號。進入到進程號目錄后,里面有一個cwd鏈接文件即指向的進程的的目錄。
2) 操作:
A:確定進程號。如:4874;
B:查找進程執(zhí)行的文件。ps aux | grep 4874;
C:確定進程所在的目錄。ll /proc/4874;
Linux終止前臺進程的命令
ctrl +c
1、首和擾培先,連接相應linux主機,進入到linux命令行狀態(tài)下,等待輸入shell指令。
2、其次,以終止進程號1984的nginx子進程為例,在linux命令行中輸入:kill。
3、最后,按下回車鍵執(zhí)行shell指令,此時會看到進李配程號1984的nginx子進程被成喚唯功終止了。
1、首先,連接相應linux主機,進入到linux
命令行
狀態(tài)下,等待輸入shell指令。
2、其次,以終止進程號1984的nginx子進程為例,在linux命令行橋頌派中輸入:kill。
3、最后,按下櫻輪
回車鍵
執(zhí)行shell指令,此時會看到進程號1984的nginx子進程敏賀被成功終止了。
Linux中的kill命令用來終止指定的進程(terminate a process)的運行,是Linux下進程管理的常用命令。通常,終止一個前臺進程可以使用Ctrl+C鍵,但是,對于一個后臺進程就須用kill命令來終止,我們就需要先使用ps/pidof/pstree/top等工具獲取進程PID,然后使用kill命令來殺掉該進程。kill命令是通過向進程發(fā)送指定的信號來結冊爛束相應進程的。在默認情況下,采用編號為15的TERM信號。TERM信號將終止所有不能捕獲該信號的進程。對于那些可以捕獲該信號的進程就要用編號為9的kill信號,強行“殺掉”該進程。
1.命令格式:
kill
2.命令功能:
發(fā)送指定的信號到相應進程。不指定型號將發(fā)送SIGTERM(15)終止指定進程。橡姿和如果任梁盯無法終止該程序可用“-KILL” 參數,其發(fā)送的信號為SIGKILL(9) ,將強制結束進程,使用ps命令或者jobs 命令可以查看進程號。root用戶將影響用戶的進程,非root用戶只能影響自己的進程。
3.命令參數:
-l 信號,若果不加信號的編號參數,則使用“-l”參數會列出全部的信號名稱
-a 當處理當前進程時,不限制命令名和進程號的對應關系
-p 指定kill 命令只打印相關進程的進程號,而不發(fā)送任何信號
-s 指定發(fā)送信號
-u 指定用戶
注意:
1、kill命令可以帶信號號碼選項,也可以不帶。如果沒有信號號碼,kill命令就會發(fā)出終止信號(15),這個信號可以被進程捕獲,使得進程在退出之前可以清理并釋放資源。也可以用kill向進程發(fā)送特定的信號。例如:
kill
它的效果等同于在前臺運行PID為123的進程時按下Ctrl+C鍵。但是,普通用戶只能使用不帶signal參數的kill命令或最多使用-9信號。
2、kill可以帶有進程ID號作為參數。當用kill向這些進程發(fā)送信號時,必須是這些進程的主人。如果試圖撤銷一個沒有權限撤銷的進程或撤銷一個不存在的進程,就會得到一個錯誤信息。
3、可以向多個進程發(fā)信號或終止它們。
4、當kill成功地發(fā)送了信號后,shell會在屏幕上顯示出進程的終止信息。有時這個信息不會馬上顯示,只有當按下Enter鍵使shell的命令提示符再次出現時,才會顯示出來。
5、應注意,信號使進程強行終止,這常會帶來一些副作用,如數據丟失或者終端無法恢復到正常狀態(tài)。發(fā)送信號時必須小心,只有在萬不得已時,才用kill信號(9),因為進程不能首先捕獲它。要撤銷所有的后臺作業(yè),可以輸入kill 0。因為有些在后臺運行的命令會啟動多個進程,跟蹤并找到所有要殺掉的進程的PID是件很麻煩的事。這時,使用kill 0來終止所有由當前shell啟動的進程,是個有效的方法。
4.使用實例:
實例1:列出所有信號名稱
命令:
kill -l
輸出:
# kill -l
1) SIGHUP) SIGINT) SIGQUIT) SIGILL
5) SIGTRAP) SIGABRT) SIGBUS) SIGFPE
9) SIGKILL) SIGUSR) SIGSEGV) SIGUSR2
13) SIGPIPE) SIGALRM) SIGTERM) SIGSTKFLT
17) SIGCHLD) SIGCONT) SIGSTOP) SIGTSTP
21) SIGTTIN) SIGTTOU) SIGURG) SIGXCPU
25) SIGXFSZ) SIGVTALRM 27) SIGPROF) SIGWINCH
29) SIGIO) SIGPWR) SIGSYS) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
說明:
只有第9種信號(SIGKILL)才可以無條件終止進程,其他信號進程都有權利忽略。下面是常用的信號:
HUP終端斷線
INT中斷(同 Ctrl + C)
QUIT退出(同 Ctrl + \)
TERM終止
KILL強制終止
CONT繼續(xù)(與STOP相反, fg/bg命令)
STOP暫停(同 Ctrl + Z)
實例2:得到指定信號的數值
命令:
輸出:
# kill -l KILL
9# kill -l SIGKILL
9# kill -l TERM
15# kill -l SIGTERM
15#
說明:
實例3:先用ps查找進程,然后用kill殺掉
命令:
kill 3268
輸出:
# ps -ef|grep vim
root:21 pts/:00:00 vim install.log
root:21 pts/:00:00 grep vim
# kill 3268
# kill 3268
-bash: kill: (3268) – 沒有那個進程
#
說明:
實例4:徹底殺死進程
命令:
kill –
輸出:
# ps -ef|grep vim
root:21 pts/:00:00 vim install.log
root:21 pts/:00:00 grep vim
# kill –
# kill 3268
-bash: kill: (3268) – 沒有那個進程
#
說明:
實例5:殺死指定用戶所有進程
命令:
kill -9 $(ps -ef | grep peidalinux)
kill -u peidalinux
輸出:
# kill -9 $(ps -ef | grep peidalinux)
# kill -u peidalinux
說明:
方法一,過濾出hnlinux用戶進程并殺死
實例6:init進程是不可殺的
命令:
kill -9 1
輸出:
# ps -ef|grep init
root 0 0 Nov02 ?:00:00 init
root:37 pts/:00:00 grep init
# kill -9 1
# kill -HUP 1
# ps -ef|grep init
root 0 0 Nov02 ?:00:00 init
root:38 pts/:00:00 grep init
# kill -KILL 1
# ps -ef|grep init
root 0 0 Nov02 ?:00:00 init
root:38 pts/:00:00 grep init
#
說明:
init是Linux系統操作中不可缺少的程序之一。所謂的init進程,它是一個由內核啟動的用戶級進程。內核自行啟動(已經被載入內存,開始運行,并已初始化所有的設備驅動程序和數據結構等)之后,就通過啟動一個用戶級程序init的方式,完成引導進程。所以,init始終是之一個進程(其進程編號始終為1)。 其它所有進程都是init進程的子孫。init進程是不可殺的!
Linux后臺進程
引入的原因: 用灶物桐于控制向多個進程進行信號的分發(fā),發(fā)給一個進程組是信號會發(fā)生給進程組中每一個進程
會話是一個或者多個進程組的,進程調用 setsid 函數建立一個會話。
進程調用setsid函數建立一個新的會話,會發(fā)生下面幾件事
守護進程是生存期長的一種進程,沒有控制終端。他們常常在系統引導裝入時啟動,系統關閉是終止。守護進程程序通常以字母 d 結尾。
用戶層的守護進程的父進程是 init 進程。內核的守護進程并非init進程。
以 & 方式運行的為后臺進程
比如: ping
www.baidu.com
&
通過 jobs 命令查看
將后臺程序放到前臺
通過 control+c 命名發(fā)送’hupinit‘信號kill掉進程隱坦
終端被掛斷或者用戶注銷,SIGHUP信號會被發(fā)送到該終端相關的控制程序,而SIGHUP的默認行為是終止程序的運行。
需要實現終端退出后進程依然在后臺運行,有兩種途徑
如果setid函數的進程就是一個進程組的組長,則函數會返回出錯。為了解決這樣情況,通常函數需要先fork,然后父進程退出,由子進程執(zhí)行setsid。由于子進程繼承的是父進程的進程組ID,而其PID是新分配的ID,因此這兩者不可能相等,即子進程不可能是進程組的組長。 這種情況下,由于父進程先于子進程退出,因此子進程的父進程會有init進程接管。 而這就是sid命令的實現原理。
設置 setsid
www.baidu.com
我們對比下和nohup
我們可以看到setsid的父進程變成了init進螞老程。由于會話和父進程和shell無關了,因此無論如何shell都無法向該進程發(fā)送SIGHUP命令
linux 進程實例的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于linux 進程實例,深入探索Linux進程實例,輕松掌握操作技巧,Linux 怎么根據進程號,找對應的進程!,Linux終止前臺進程的命令,Linux后臺進程的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯科技有限公司,是一家專注于互聯網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯網基礎服務!
創(chuàng)新互聯(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯——四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數據中心機房租用、服務器托管、機柜租賃、大帶寬租用,高電服務器托管,算力服務器租用,可選線路電信、移動、聯通機房等。
當前標題:深入探索Linux進程實例,輕松掌握操作技巧(linux進程實例)
網站網址:http://fisionsoft.com.cn/article/coseghp.html


咨詢
建站咨詢
