Linux系统进程管理:kill命令详解&进程优先级设置

本文详细介绍了Linux系统中的kill命令及其选项,包括发送不同信号(如HUP、INT、TERM等)、killall命令的用法,以及如何管理进程优先级(nice与renice)。特别强调了kill-9和kill-0的区别,以及用户权限下的操作。
摘要由CSDN通过智能技术生成
1)kill - terminate a process

语法

kill[选项][进程号]

选项

-l 打印信号编号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a 当处理当前进程时,不限制命令名和进程号的对应关系

-p 只打印相关进程的进程号,而不发送任何信号

-s 指定发送信号

-u 指定用户,kill某个用户的所有进程

Kill命令工作原理:

向Linux内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作

信号

HUP 1 重载配置文件

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + \)

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。

kill -9 强制结束

kill -0 检测进程是否存在

如何调整优先级

注意:普通用户只能降低程序的优先级 不能提高程序优先级,root随便

2)killall

Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)

命令格式:

killall[选项][进程名]

命令选项:

-I 忽略小写

-g 杀死进程组而不是进程

-i 交互模式,杀死进程前先询问用户

-l 列出所有的已知信号名称

-q 不输出警告信息

-s 发送指定的信号

-v 报告信号是否成功发送

-w 等待进程死亡

—help 显示帮助信息

—version 显示版本显示

-u:杀死指定用户的进程

-r:使用正规表达式匹配要杀死的进程名称

-p:杀死进程所属的进程组

二、进程优先级管理

进程优先级管理

nice - run a program with modified scheduling priority

语法

nice [OPTION] [COMMAND [ARG]…]

选项

-n add integer N to the niceness (default 10)

设定一个优先级 默认为10

linux porcess 优先级为-20 - 19 数字越小优先级越大

调整优先级命令nice

nice —19 ping -c 500 localhost -19优先级

nice -19 ping -c 500 localhost 19优先级

renice - alter priority of running processes

renice -n -19 -p 16863

renice -n -20 -u root

0 (用户 ID) 旧优先级为 -10,新优先级为 -20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值