在linux命令下,如果需要终止某个进程,可以使用kill或者killall等命令来实现。终止命令的原理都是向linux内核发送一个系统操作的信号以及某个进程的ID,然后系统内核会根据指定的进程ID进行相应的处理。
kill命令典型的用法:首先使用ps命令查出PID,然后使用kill命令进行处理。
语法格式如下:kill [信号代码] 进程ID
用法:
ps -ef | grep dhcp
输出结果:root 25933 25749 0 10:59 pts/0 00:00:00 grep --color=auto dhcp
然后执行:kill 25933
技巧:也可以通过pidof快速的方式进程id,可以使用pidof命令
比如执行:pidof mysqld
输出结果:16502
然后执行:kill 16502
kill信号代码:kill信号代码共有64种,
常用的主要有三个:
HUP(1):重启,重启的时候不会修改主进程的ID,但是子进程的ID会改变。
KILL(9):强行杀掉,使用-9参数会强制杀掉进程,其效果是立即杀死进程,该信号不能被阻塞或忽略。因为进程ID都是数字,很容易写错操作杀掉系统关键的进程,并且不会清理之前申请的内存,会一定程度上造成“内存泄漏”。
TERM(15):正常结束,它会使进程正常退出,Linux默认会按照这种方式执行进程的终止。
killall命令:Linux系统还可以使用killall来终止进程,命令比较简单有更加安全。
语法格式:killall 进程名称
比如:killall mysqld #终止系统中所有的mysqld进程