自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入講述Linux kill命令

系統(tǒng) Linux
本文講解了Linux kill命令的使用,-s 指定需要送出的信號(hào)。既可以是信號(hào)名也可以對(duì)應(yīng)數(shù)字。 -p 指定kill命令只是顯示進(jìn)程的pid,并不真正送出結(jié)束信號(hào)。

學(xué)習(xí)Linux進(jìn)程時(shí),大家可能會(huì)遇到同樣的問(wèn)題,這里簡(jiǎn)單概括了Linux進(jìn)程kill命令以及Linux控制多個(gè)命令的方法,經(jīng)過(guò)總結(jié),在這里拿出來(lái)和大家分享一下,希望對(duì)大家有所幫助.......

Linux kill命令

當(dāng)需要中斷一個(gè)前臺(tái)進(jìn)程的時(shí)候,通常是使用< Ctrl+c >組合鍵;但是對(duì)于一個(gè)后臺(tái)進(jìn)程恐怕就不是一個(gè)組合鍵所能解決的了,這時(shí)就必須求助于kill命令。該命令可以終止后臺(tái)進(jìn)程。至于終止后臺(tái)進(jìn)程的原因很多,或許是該進(jìn)程占用的CPU時(shí)間過(guò)多;或許是該進(jìn)程已經(jīng)掛死。總之這種情況是經(jīng)常發(fā)生的。Linux進(jìn)程中的kill命令是通過(guò)向進(jìn)程發(fā)送指定的信號(hào)來(lái)結(jié)束進(jìn)程的。如果沒(méi)有指定發(fā)送信號(hào),那么默認(rèn)值為TERM信號(hào)。TERM信號(hào)將終止所有不能捕獲該信號(hào)的進(jìn)程。至于那些可以捕獲該信號(hào)的進(jìn)程可能就需要使用kill(9)信號(hào)了,該信號(hào)是不能被捕捉的。

Linux kill命令很簡(jiǎn)單,大致有以下兩種方式:
1.kill [-s 信號(hào) | -p ] [ -a ] 進(jìn)程號(hào) ...
2.kill -l [信號(hào)]
◆-s 指定需要送出的信號(hào)。既可以是信號(hào)名也可以對(duì)應(yīng)數(shù)字。
◆-p 指定kill命令只是顯示進(jìn)程的pid,并不真正送出結(jié)束信號(hào)。
◆-l 顯示信號(hào)名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。

Linux kill命令使用
下面看看該命令的使用。
[例24] 在執(zhí)行一條find指令時(shí)由于時(shí)間過(guò)長(zhǎng),決定終止該進(jìn)程。
首先應(yīng)該使用ps命令來(lái)查看該進(jìn)程對(duì)應(yīng)的PID,鍵入ps,顯示如下:
PID TTY TIME COMMAND
285 1 00:00:00 -bash
287 3 00:00:00 -bash
289 5 00:00:00 /sbin/mingetty tty5
290 6 00:00:00 /sbin/mingetty tty6
312 3 00:00:00 telnet bbs3
341 4 00:00:00 /sbin/mingetty tty4
345 1 00:00:00 find / -name foxy.jpg
348 1 00:00:00 ps
可以看到該進(jìn)程對(duì)應(yīng)的PID是345,現(xiàn)在使用kill命令來(lái)終止該進(jìn)程。鍵入:
# kill 345
再用ps命令查看,就可以看到,find進(jìn)程已經(jīng)被殺掉了。
[例25] 殺掉進(jìn)程11721
# ps PID TTY TIME COMMAND
11668 p1 00:00:00 -tcsh
11721 p1 00:00:00 cat
11737 p1 00:00:00 ps
# kill 11721
[1] Terminated cat
#

有時(shí)候可能會(huì)遇到這樣的情況,某個(gè)進(jìn)程已經(jīng)掛死或閑置,使用kill命令卻殺不掉。這時(shí)候就必須發(fā)送信號(hào)9,強(qiáng)行關(guān)閉此進(jìn)程。當(dāng)然這種“野蠻”的方法很可能會(huì)導(dǎo)致打開(kāi)的文件出現(xiàn)錯(cuò)誤或者數(shù)據(jù)丟失之類的錯(cuò)誤。所以不到萬(wàn)不得已不要使用強(qiáng)制結(jié)束的辦法。如果連信號(hào)9都不響應(yīng),那恐怕就只有重新啟動(dòng)計(jì)算機(jī)了。

控制多個(gè)進(jìn)程命令Linux可使用戶同時(shí)運(yùn)行多個(gè)進(jìn)程,還允許用戶或系統(tǒng)管理員能控制正在運(yùn)行的進(jìn)程。
nohup命令
理論上,我們一般退出Linux系統(tǒng)時(shí),會(huì)把所有Linux進(jìn)程中的所有程序全部結(jié)束掉,包括那些后臺(tái)程序。但有時(shí)候,例如您正在編輯一個(gè)很長(zhǎng)的程序,但是您下班或是有事需要先退出系統(tǒng),這時(shí)您又不希望系統(tǒng)把您編輯那么久的程序結(jié)束掉,希望退出系統(tǒng)時(shí),程序還能繼續(xù)執(zhí)行。這時(shí),我們就可以使用nohup命令使進(jìn)程在用戶退出后仍繼續(xù)執(zhí)行。
一般這些進(jìn)程我們都是讓它在后臺(tái)執(zhí)行,結(jié)果則會(huì)寫(xiě)到用戶自己的目錄下的nohup.out這個(gè)文件里(也可以使用輸出重定向,讓它輸出到一個(gè)特定的文件)。
[例26] $ nohup sort sales.dat &
這條命令告訴sort命令忽略用戶已退出系統(tǒng),它應(yīng)該一直運(yùn)行,直到進(jìn)程完成。利用這種方法,可以啟動(dòng)一個(gè)要運(yùn)行幾天甚至幾周的進(jìn)程,而且在它運(yùn)行時(shí),用戶不需要去登錄。
nohup命令把一條命令的所有輸出和錯(cuò)誤信息送到nohup.out文件中。若將輸出重定向,則只有錯(cuò)誤信息放在nohup.out文件中。

renice命令
renice命令允許用戶修改一個(gè)正在運(yùn)行進(jìn)程的優(yōu)先權(quán)。 利用renice命令可以在命令執(zhí)行時(shí)調(diào)整其優(yōu)先權(quán)。其格式如下:
$ renice -number PID
其中,參數(shù)number與nice命令的number意義相同。
注:
(1) 用戶只能對(duì)自己所有的進(jìn)程使用renice命令。
(2) root用戶可以在任何進(jìn)程上使用renice命令。
(3) 只有root用戶才能提高進(jìn)程的優(yōu)先權(quán)。

思考題
1. 什么是linux進(jìn)程?進(jìn)程與作業(yè)有何區(qū)別?
2. 進(jìn)程啟動(dòng)的方式有哪幾種?
3. at命令與batch命令有何本質(zhì)區(qū)別?
4. cron命令在何時(shí)執(zhí)行?如何改變其執(zhí)行狀態(tài)?
5. 何謂前臺(tái)作業(yè)、后臺(tái)作業(yè)?如何掛起當(dāng)前的前臺(tái)作業(yè)?如果要恢復(fù)其運(yùn)行又如何做?
6. 進(jìn)程的查看命令有哪些?各有什么不同?
7. 如何中斷一個(gè)后臺(tái)進(jìn)程?
8. 如何在用戶退出Linux系統(tǒng)時(shí),使一個(gè)進(jìn)程仍然能繼續(xù)執(zhí)行?
9. 如何修改一個(gè)作業(yè)的優(yōu)先權(quán)?
10. 編寫(xiě)和檢驗(yàn)完成下列各項(xiàng)功能的命令管道行:
(1)顯示當(dāng)前系統(tǒng)中的登錄名的數(shù)目。
(2)顯示當(dāng)前系統(tǒng)中有多少個(gè)進(jìn)程。
11. 說(shuō)明下列管道行分別完成什么功能:
(1)df -a | wc -l
(2)who | wc -

【編輯推薦】

  1. 完整版學(xué)習(xí)Linux磁盤分區(qū)
  2. 全面講解Linux文件命令
  3. 講述Linux用戶管理的全部過(guò)程
  4. 圖文詳解 文件柜內(nèi)DIY自己的Linux集群機(jī)
  5. linux內(nèi)存管理之非連續(xù)物理地址分配(vmalloc)
責(zé)任編輯:薛輩輩 來(lái)源: Sogou
相關(guān)推薦

2009-10-26 10:24:35

linux脫機(jī)打印命令

2013-12-03 09:12:37

Linux命令kill命令

2009-12-22 13:15:59

Linux ueven

2009-12-25 13:09:49

Linux Vi

2010-03-02 13:27:17

LinuxXFS文件系

2010-03-18 17:29:21

2009-12-25 17:05:09

LINUX Bash

2009-10-27 12:47:29

linux Ext3文

2010-06-07 12:51:51

Linux 查看進(jìn)程

2018-04-27 14:58:09

Linuxkill命令

2009-12-25 14:03:46

Linux vi

2009-12-28 16:23:51

Fedora grub

2009-05-26 12:14:59

Linuxkill終止命令

2010-03-10 17:37:48

Linux磁盤配額

2009-12-23 15:17:55

Fedora gcc安

2009-12-23 17:50:07

Linux網(wǎng)絡(luò)命令

2021-03-19 09:30:22

Linuxkill命令 管理進(jìn)程

2009-12-24 13:46:23

Linux驅(qū)動(dòng)

2009-11-24 13:53:03

SuSE Linux

2010-04-14 09:25:08

Oracle 9i創(chuàng)建
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)