|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。
Linux中的kill命令用来停止指定的历程(terminateaprocess)的运转,是Linux下历程办理的经常使用命令。一般,停止一个前台历程可使用Ctrl+C键,可是,关于一个背景历程就须用kill命令来停止,我们就必要先利用ps/pidof/pstree/top等工具猎取历程PID,然后利用kill命令来杀失落该历程。kill命令是经由过程向历程发送指定的旌旗灯号来停止响应历程的。在默许情形下,接纳编号为15的TERM旌旗灯号。TERM旌旗灯号将停止一切不克不及捕捉该旌旗灯号的历程。关于那些能够捕捉该旌旗灯号的历程就要用编号为9的kill旌旗灯号,强行“杀失落”该历程。
1.命令格局:
kill[参数][历程号]
2.命令功效:
发送指定的旌旗灯号到响应历程。不指定型号将发送SIGTERM(15)停止指定历程。假如任没法停止该程序可用“-KILL”参数,其发送的旌旗灯号为SIGKILL(9),将强迫停止历程,利用ps命令大概jobs命令能够检察历程号。root用户将影响用户的历程,非root用户只能影响本人的历程。
3.命令参数:
-l旌旗灯号,若果不加旌旗灯号的编号参数,则利用“-l”参数会列出全体的旌旗灯号称号
-a当处置以后历程时,不限定命令名和历程号的对应干系
-p指定kill命令只打印相干历程的历程号,而不发送任何旌旗灯号
-s指定发送旌旗灯号
-u指定用户
注重:
1、kill命令能够带旌旗灯号号码选项,也能够不带。假如没有旌旗灯号号码,kill命令就会收回停止旌旗灯号(15),这个旌旗灯号能够被历程捕捉,使得历程在加入之前能够清算并开释资本。也能够用kill向历程发送特定的旌旗灯号。比方:
kill-2123
它的效果同等于在前台运转PID为123的历程时按下Ctrl+C键。可是,一般用户只能利用不带signal参数的kill命令或最多利用-9旌旗灯号。
2、kill能够带有历程ID号作为参数。当用kill向这些历程发送旌旗灯号时,必需是这些历程的仆人。假如试图打消一个没有权限打消的历程或打消一个不存在的历程,就会失掉一个毛病信息。
3、能够向多个历程发旌旗灯号或停止它们。
4、当kill乐成地发送了旌旗灯号后,shell会在屏幕上显现出历程的停止信息。偶然这个信息不会即刻显现,只要当按下Enter键使shell的命令提醒符再次呈现时,才会显现出来。
5、应注重,旌旗灯号使历程强行停止,这常会带来一些反作用,如数据丧失大概终端没法恢复到一般形态。发送旌旗灯号时必需当心,只要在万不得已时,才用kill旌旗灯号(9),由于历程不克不及起首捕捉它。要打消一切的背景功课,能够输出kill0。由于有些在背景运转的命令会启动多个历程,跟踪并找到一切要杀失落的历程的PID是件很贫苦的事。这时候,利用kill0来停止一切由以后shell启动的历程,是个无效的办法。
4.利用实例:
实例1:列出一切旌旗灯号称号
命令:
kill-l
输入:
[root@localhosttest6]#kill-l
1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL
5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE
9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR2
13)SIGPIPE14)SIGALRM15)SIGTERM16)SIGSTKFLT
17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP
21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU
25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH
29)SIGIO30)SIGPWR31)SIGSYS34)SIGRTMIN
35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+338)SIGRTMIN+4
39)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+8
43)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+12
47)SIGRTMIN+1348)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-14
51)SIGRTMAX-1352)SIGRTMAX-1253)SIGRTMAX-1154)SIGRTMAX-10
55)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-6
59)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-2
63)SIGRTMAX-164)SIGRTMAX
申明:
只要第9种旌旗灯号(SIGKILL)才能够无前提停止历程,其他旌旗灯号历程都有权力疏忽。 上面是经常使用的旌旗灯号:
HUP1终端断线
INT2中止(同Ctrl+C)
QUIT3加入(同Ctrl+)
TERM15停止
KILL9强迫停止
CONT18持续(与STOP相反,fg/bg命令)
STOP19停息(同Ctrl+Z)
实例2:失掉指定旌旗灯号的数值
命令:
输入:
[root@localhosttest6]#kill-lKILL
9[root@localhosttest6]#kill-lSIGKILL
9[root@localhosttest6]#kill-lTERM
15[root@localhosttest6]#kill-lSIGTERM
15[root@localhosttest6]#
申明:
实例3:先用ps查找历程,然后用kill杀失落
命令:
kill3268
输入:
[root@localhosttest6]#ps-ef|grepvim
root32682884016:21pts/100:00:00viminstall.log
root33702822016:21pts/000:00:00grepvim
[root@localhosttest6]#kill3268
[root@localhosttest6]#kill3268
-bash:kill:(3268)-没有谁人历程
[root@localhosttest6]#
申明:
实例4:完全杀逝世历程
命令:
kill–93268
输入:
[root@localhosttest6]#ps-ef|grepvim
root32682884016:21pts/100:00:00viminstall.log
root33702822016:21pts/000:00:00grepvim
[root@localhosttest6]#kill–93268
[root@localhosttest6]#kill3268
-bash:kill:(3268)-没有谁人历程
[root@localhosttest6]#
申明:
实例5:杀逝世指定用户一切历程
命令:
kill-9$(ps-ef|greppeidalinux)
kill-upeidalinux
输入:
[root@localhost~]#kill-9$(ps-ef|greppeidalinux)
[root@localhost~]#kill-upeidalinux
申明:
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。 |
|