新聞中心
在Linux系統(tǒng)中,進(jìn)程是操作系統(tǒng)調(diào)度程序執(zhí)行的最小單位。每個(gè)進(jìn)程都可以通過命令行參數(shù)來指定運(yùn)行時(shí)的不同參數(shù),以實(shí)現(xiàn)不同的功能和操作。本文將詳細(xì)介紹Linux進(jìn)程的命令行參數(shù),包括如何設(shè)置和獲取參數(shù),以及常用的參數(shù)和用法。

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都資質(zhì)代辦小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
1.命令行參數(shù)格式
在Linux系統(tǒng)中,命令行參數(shù)通常用空格分隔,并以一個(gè)可執(zhí)行程序(通常是二進(jìn)制文件)的名稱作為之一個(gè)參數(shù)。通常情況下,一個(gè)命令行參數(shù)有兩種形態(tài),即長(zhǎng)參數(shù)(長(zhǎng)選項(xiàng))和短參數(shù)(短選項(xiàng))。長(zhǎng)選項(xiàng)是指由兩個(gè)短橫線開頭的參數(shù),通常用于描述較長(zhǎng)的或較復(fù)雜的選項(xiàng)。例如:
$ ./program –verbose
短選項(xiàng)是指由一個(gè)短橫線開頭的單個(gè)字符作為參數(shù),通常用來表示較短的或較簡(jiǎn)單的選項(xiàng)。例如:
$ ./program -v
2.設(shè)置和獲取命令行參數(shù)
如果你想在腳本中獲取命令行參數(shù),你可以使用shell內(nèi)置的$0、$1、$2等變量來獲取。例如,$0變量獲取執(zhí)行的腳本的文件名,$1變量獲取之一個(gè)命令行參數(shù),以此類推。例如:
#!/bin/bash
echo “Script name: $0”
echo “First argument: $1”
echo “Second argument: $2”
echo “All arguments: $@”
在執(zhí)行這個(gè)腳本時(shí),你可以傳遞不同的參數(shù)。例如:
$ ./test.sh hello world
這將輸出:
Script name: ./test.sh
First argument: hello
Second argument: world
All arguments: hello world
你也可以使用getopt命令來解析命令行參數(shù)。getopt命令可以識(shí)別長(zhǎng)選項(xiàng)和短選項(xiàng),并將它們轉(zhuǎn)換成標(biāo)準(zhǔn)格式。例如:
#!/bin/bash
PARAMS=$(getopt -n “$0” -o abc -l alpha,bravo,charlie: — “$@”)
eval set — “$PARAMS”
while true; do
case “$1” in
-a|–alpha) echo “Option alpha” ; shift ;;
-b|–bravo) echo “Option bravo” ; shift ;;
-c|–charlie) echo “Option charlie: $2” ; shift 2 ;;
–) shift ; break ;;
esac
done
echo “Remning arguments: $*”
在執(zhí)行這個(gè)腳本時(shí),你可以傳遞不同的參數(shù)。例如:
$ ./test.sh -a -b –charlie hello world
這將輸出:
Option alpha
Option bravo
Option charlie: hello
Remning arguments: world
3.常用的命令行參數(shù)
下面列出了一些常用的命令行參數(shù)及其用法。
3.1 -h或–help
這個(gè)選項(xiàng)通常用于顯示命令行幫助信息。例如:
$ ./program -h
3.2 -v或–verbose
這個(gè)選項(xiàng)通常用于顯示更多詳細(xì)信息以幫助用戶理解程序的運(yùn)行情況。例如:
$ ./program -v
3.3 -q或–quiet
這個(gè)選項(xiàng)通常用于禁用所有輸出,以便程序運(yùn)行得更加安靜。例如:
$ ./program -q
3.4 -f或–file
這個(gè)選項(xiàng)通常用于指定一個(gè)文件作為程序的輸入。例如:
$ ./program -f input.txt
3.5 -o或–output
這個(gè)選項(xiàng)通常用于指定一個(gè)文件作為程序的輸出。例如:
$ ./program -o output.txt
3.6 –version
這個(gè)選項(xiàng)通常用于顯示程序的版本信息。例如:
$ ./program –version
4.
在Linux系統(tǒng)中,命令行參數(shù)是控制程序行為的重要手段。通過命令行參數(shù),你可以指定程序的輸入、輸出、選項(xiàng)等信息,以實(shí)現(xiàn)不同的功能。在本文中,我們介紹了Linux進(jìn)程的命令行參數(shù)的格式、如何設(shè)置和獲取參數(shù)以及常用的參數(shù)和用法。通過掌握這些知識(shí),您可以更好地理解并使用Linux系統(tǒng)中的命令行工具。
相關(guān)問題拓展閱讀:
- Linux終止前臺(tái)進(jìn)程的命令
Linux終止前臺(tái)進(jìn)程的命令
Linux中的kill命令用來終止指定的進(jìn)程(terminate a process)的運(yùn)行,是Linux下進(jìn)程管理的常用命令。通常,終止一個(gè)前臺(tái)進(jìn)程可以使用Ctrl+C鍵,但是,對(duì)于一個(gè)后臺(tái)進(jìn)程就須用kill命令來終止,我們就需要先使用ps/pidof/pstree/top等工具獲取進(jìn)程PID,然后使用kill命令來殺掉該進(jìn)程。kill命令是通過向進(jìn)程發(fā)送指定的信號(hào)來結(jié)冊(cè)爛束相應(yīng)進(jìn)程的。在默認(rèn)情況下,采用編號(hào)為15的TERM信號(hào)。TERM信號(hào)將終止所有不能捕獲該信號(hào)的進(jìn)程。對(duì)于那些可以捕獲該信號(hào)的進(jìn)程就要用編號(hào)為9的kill信號(hào),強(qiáng)行“殺掉”該進(jìn)程。
1.命令格式:
kill
2.命令功能:
發(fā)送指定的信號(hào)到相應(yīng)進(jìn)程。不指定型號(hào)將發(fā)送SIGTERM(15)終止指定進(jìn)程。橡姿和如果任梁盯無法終止該程序可用“-KILL” 參數(shù),其發(fā)送的信號(hào)為SIGKILL(9) ,將強(qiáng)制結(jié)束進(jìn)程,使用ps命令或者jobs 命令可以查看進(jìn)程號(hào)。root用戶將影響用戶的進(jìn)程,非root用戶只能影響自己的進(jìn)程。
3.命令參數(shù):
-l 信號(hào),若果不加信號(hào)的編號(hào)參數(shù),則使用“-l”參數(shù)會(huì)列出全部的信號(hào)名稱
-a 當(dāng)處理當(dāng)前進(jìn)程時(shí),不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系
-p 指定kill 命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)
-s 指定發(fā)送信號(hào)
-u 指定用戶
注意:
1、kill命令可以帶信號(hào)號(hào)碼選項(xiàng),也可以不帶。如果沒有信號(hào)號(hào)碼,kill命令就會(huì)發(fā)出終止信號(hào)(15),這個(gè)信號(hào)可以被進(jìn)程捕獲,使得進(jìn)程在退出之前可以清理并釋放資源。也可以用kill向進(jìn)程發(fā)送特定的信號(hào)。例如:
kill
它的效果等同于在前臺(tái)運(yùn)行PID為123的進(jìn)程時(shí)按下Ctrl+C鍵。但是,普通用戶只能使用不帶signal參數(shù)的kill命令或最多使用-9信號(hào)。
2、kill可以帶有進(jìn)程ID號(hào)作為參數(shù)。當(dāng)用kill向這些進(jìn)程發(fā)送信號(hào)時(shí),必須是這些進(jìn)程的主人。如果試圖撤銷一個(gè)沒有權(quán)限撤銷的進(jìn)程或撤銷一個(gè)不存在的進(jìn)程,就會(huì)得到一個(gè)錯(cuò)誤信息。
3、可以向多個(gè)進(jìn)程發(fā)信號(hào)或終止它們。
4、當(dāng)kill成功地發(fā)送了信號(hào)后,shell會(huì)在屏幕上顯示出進(jìn)程的終止信息。有時(shí)這個(gè)信息不會(huì)馬上顯示,只有當(dāng)按下Enter鍵使shell的命令提示符再次出現(xiàn)時(shí),才會(huì)顯示出來。
5、應(yīng)注意,信號(hào)使進(jìn)程強(qiáng)行終止,這常會(huì)帶來一些副作用,如數(shù)據(jù)丟失或者終端無法恢復(fù)到正常狀態(tài)。發(fā)送信號(hào)時(shí)必須小心,只有在萬不得已時(shí),才用kill信號(hào)(9),因?yàn)檫M(jìn)程不能首先捕獲它。要撤銷所有的后臺(tái)作業(yè),可以輸入kill 0。因?yàn)橛行┰诤笈_(tái)運(yùn)行的命令會(huì)啟動(dòng)多個(gè)進(jìn)程,跟蹤并找到所有要?dú)⒌舻倪M(jìn)程的PID是件很麻煩的事。這時(shí),使用kill 0來終止所有由當(dāng)前shell啟動(dòng)的進(jìn)程,是個(gè)有效的方法。
4.使用實(shí)例:
實(shí)例1:列出所有信號(hào)名稱
命令:
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種信號(hào)(SIGKILL)才可以無條件終止進(jìn)程,其他信號(hào)進(jìn)程都有權(quán)利忽略。下面是常用的信號(hào):
HUP終端斷線
INT中斷(同 Ctrl + C)
QUIT退出(同 Ctrl + \)
TERM終止
KILL強(qiáng)制終止
CONT繼續(xù)(與STOP相反, fg/bg命令)
STOP暫停(同 Ctrl + Z)
實(shí)例2:得到指定信號(hào)的數(shù)值
命令:
輸出:
# kill -l KILL
9# kill -l SIGKILL
9# kill -l TERM
15# kill -l SIGTERM
15#
說明:
實(shí)例3:先用ps查找進(jìn)程,然后用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) – 沒有那個(gè)進(jìn)程
#
說明:
實(shí)例4:徹底殺死進(jìn)程
命令:
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) – 沒有那個(gè)進(jìn)程
#
說明:
實(shí)例5:殺死指定用戶所有進(jìn)程
命令:
kill -9 $(ps -ef | grep peidalinux)
kill -u peidalinux
輸出:
# kill -9 $(ps -ef | grep peidalinux)
# kill -u peidalinux
說明:
方法一,過濾出hnlinux用戶進(jìn)程并殺死
實(shí)例6:init進(jìn)程是不可殺的
命令:
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系統(tǒng)操作中不可缺少的程序之一。所謂的init進(jìn)程,它是一個(gè)由內(nèi)核啟動(dòng)的用戶級(jí)進(jìn)程。內(nèi)核自行啟動(dòng)(已經(jīng)被載入內(nèi)存,開始運(yùn)行,并已初始化所有的設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動(dòng)一個(gè)用戶級(jí)程序init的方式,完成引導(dǎo)進(jìn)程。所以,init始終是之一個(gè)進(jìn)程(其進(jìn)程編號(hào)始終為1)。 其它所有進(jìn)程都是init進(jìn)程的子孫。init進(jìn)程是不可殺的!
1、首和擾培先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。
2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill。
3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)李配程號(hào)1984的nginx子進(jìn)程被成喚唯功終止了。
1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux
命令行
狀態(tài)下,等待輸入shell指令。
2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行橋頌派中輸入:kill。
3、最后,按下櫻輪
回車鍵
執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程敏賀被成功終止了。
ctrl +c
linux 進(jìn)程命令行參數(shù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 進(jìn)程命令行參數(shù),Linux進(jìn)程命令行參數(shù)詳解,Linux終止前臺(tái)進(jìn)程的命令的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
分享文章:Linux進(jìn)程命令行參數(shù)詳解(linux進(jìn)程命令行參數(shù))
當(dāng)前地址:http://m.fisionsoft.com.cn/article/djeedcg.html


咨詢
建站咨詢
