Linux 之 进程管理 -- 进程管理(kill,nice,renice)

1. kill在进程管理中的应用

还记得,之前在Linux 之 进程管理 -- 工作管理 (job control)中,我们有提到 通过kill -signal %jobnumber 的 方式 管理bash背景中的工作吗?(jobnumber就是通过jobs获得的bash中的工作号码)

当然kill的功能不止局限于bash的工作控制,在今天学习的进程管理中同样适用。

这里借用鸟哥的图,把kill的一些常用代号详细解释一下,弱弱得说...
(没什么可神秘的,kill进行 进程管理 的常用代号和之前在 工作管理 中学到的一摸一样嘛)

kill的一些常用代号

1.1 通过 kill -signal PID 进程管理

kill -signal PID(PID就是我们通过pstop观察到的进程号)

  • 强调:kill后面直接加PID数字与加上%jobnumber的情况是不同的!(%专门用在bash的工作控制中)
  • 举例:找出rsyslogd的进程PID,并使其重新读取配置文件
    -- 找出PID的操作: ps aux | grep 'rsyslogd' | grep -v 'grep' | awk '{print $2} ;翻译成人话:通过ps aux获得系统的各项进程情况,撷取出rsyslogd的进程(考虑到grep 'rsyslogd'实质上是一个grep进程,所以后面用grep -v 'grep'除去),并打印第二列的PID号码
    -- 为rsyslogd传递“重新读取配置文件”的信号:kill -1 PID or kill -SIGHUP PID

既然我们到目前为止学了两次 kill,那便在这里做一下总结:

工作模式 kill -signal XXX

  1. kill 可以帮我们将这个signal传送给 XXX:(%jobnumber)或者是某个 PID(直接输入数字)
  2. 想传递什么信息就用什么signal,详细的signal信息可以通过kill -lman 7 signal查询(不要因为人家名叫杀死就认为它只能杀掉进程时用,功能多多得包含在signal。。。)

1.2 通过killall -signal 指令名称 进程管理

这是懒人的做法,因为考虑到kill后面只能接jobnumberPID,这便要配合pspstree等命令,我不想手打那么多命令怎么办?killall -signal 指令名称 拯救你~
工作模式: killall [-iIe] [command name]

  • -i interactive的意思,交互式的,若需要删除时,会出现提示字符给用户
  • -e exact 的意思,表示“后面接的command name 要一致”,但整个完整的指令
  • -I 指令名称(可能含参数)忽略大小写
    可以这么理解:kill进程 为单位进行进程管理, killall是以指令 为单位进行进程管理(如果要删除某个服务,最简单的方法就是利用killall,因为他可以将系统当中所有以某个指令名称启动的进程全部删除)
  • 举例:给予rsyslogd这个指令启动的进程一个SIGHUP的讯号,可以使用命令 killall -1 rsyslogd or killall -SIGHUP rsyslogd
    下面是鸟哥举的例子
    killall 的应用举例

2. 进程的执行顺序管理

2.1了解 Priority 与 Nice 值

我们之前都有提到过Priority 与 Nice 值,他们决定了进程的执行顺序,PRI值越低代表越优先的意思。不过这个PRI值是由核心动态调整的,用户无法直接调整PRI的值。既然我们用户无权干涉PRI,如果我想要调整进程的优先执行顺序时,就要透过Nice值了。PRI与NI的相关性:
PRI(new)=PRI(old) + nice
不过,虽然nice值是可以影响PRI,不过,最终的PRI仍是要经过系统分析后才会决定的。另外,nice值是有正负的,当nice值为负值时,该进程就会降低PRI值,其对应的进程会优先被处理。
注意事项:

  • nice值可以调整的范围为-20-19
  • root 可随意调整自己或他人进程的Nice值,且范围为-20-19
  • 一般使用者仅可调整自己进程的Nice值,且范围仅为0-19(避免一般用户抢占系统资源)
  • 一般使用者仅可将nice值越调越高

2.2 调整程序执行顺序的 nicerenice

2.2.1 新执行的指令即给予新的nice值 nice

工作模式:nice[-n 数字] command

  • -n:后面接一个数值,数值的范围-20-19
    来看看鸟哥的例子,加深理解
    nice 为新执行的 vim 给予新的nice值
2.2.2 已存在进程的nice重新调整 renice

工作模式:renice [number] PID

  • PID :就是需要调整nice值的进程的ID呀~
    同样拿鸟哥的例子理解


    renice 重新调整已经存在进程的nice

    聪明的你有米有注意到,我们修改了自己bash PID的 nice,而bash所触发的ps指令当中的nice也会继承为-5了。所以,整个nice值是可以在父进程-->子进程之间传递的。

postscript:
除了renice可以调整已存在进程的nice,top也是可以的,猫毛在上一篇Linux 之 进程管理 -- 进程观察中以“小插曲”的形式介绍过了。(就是在top执行过程中使用r按键指令)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为进程(process)。进程是操作系统上非常重要的概念...
    Zhang21阅读 1,905评论 0 12
  • 进程和计划任务 如何产生一个进程: 1)执行程序或者是命令 2)计划任务 如何终止一个进程: 1)程序或者是命令执...
    崔千易阅读 424评论 0 1
  • Linux进程 进程(Process): 运行中的程序的一个副本进程存在生命周期,程序是一个静态的文件 Linux...
    SRE1阅读 972评论 0 0
  • 进程相关概念 内核的功能 进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等。 process 进程,正...
    夹克K阅读 974评论 0 1
  • 28. 人生四十始立志! 古人有说,立志要趁早,但对于有志者来说,立志不分早晚。人生在太长的时间里,根本就不知自己...
    Nihao123阅读 453评论 0 0