Linux系统管理-进程管理-终止进程(kill、killall、pkill)
1. kill命令
命令: kill -l
作用: 产看可用的进程信号
常见的信号:
信号代号 | 信号名称 | 说明 |
---|---|---|
1 | SIGHUP | 该信号让进程立即关闭,然后重新读取配置文件之后重启 |
2 | SIGINT | 程序终止信号,用于终止前台进程。相当于输出ctrl+c快捷键 |
8 | SIGFPE | 在发生致命的算术运算错误时发出,不仅包括浮点运算错误,还包括溢出及除数为0等其他所有的算数的错误 |
9 | SIGKILL | 用来立即结束程序的运行,本信号不能被阻塞、处理和忽略。一般用于强制终止进程 |
14 | SIGALRM | 时钟定时信号,计算的是实际的时间或时钟时间。alarm函数使用该信号 |
15 | SIGTERM | 正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9。 |
18 | SIGCONT | 该信号可以让暂停的进程恢复执行,本信号不能被阻断 |
19 | SIGSTOP | 该信号可以暂停前台进程,相当于输入ctrl+z快捷键。本信号不能被阻断 |
小提示: 通过信号决定你的进程到底是启动的,还是重启的,还是终止的。
常用的信号就这些:
1 重启一下服务,同时把配置文件的内容重新调用,**在Linux当中经常使用service httpd restart 归根揭底的话就是调用了1这个信号。**有些进程默认情况下是杀不掉的,这个时候就因该强制终止了。
常用1重启 9强制终止 15默认终止
系统进程非常多,当碰到不认识的进程,最好不要动他,绝大多数的进程是系统进程,不能够直接终止,终止之后会导致系统直接崩溃。碰到不认识的进程,可以先用百度查一下。
命令: kill -1 22354
作用:重启进程
命令: kill -9 22368
作用:强制杀死进程
2. killall命令
命令: killall [选项][信号] 进程名
作用:按照进程名杀死进程
选项:
-i: 交互式,询问是否要杀死某个进程
-I: 忽略进程名的大小写
3. pkill命令
命令: pkill [选项][信号] 进程名
作用: 按照进程名终止进程
选项: -t 终端号
按照终端号踢用户(这个跟killall有所不同)
3.1按照终端号提出用户
命令: w
作用:使用w命令查询本机已经登录的用户
命令: pkill -t -9 pts/1
作用:强制杀死从pts/1虚拟终端登录的进程
4. 总结
(1) 进程终止命令虽然可以把进程终止,但是他不是标准停止命令,如果停止的话最好用service httpd stop,这个是正常手段不生效的情况下使用,
(2) pkill根据终端号提掉用户。有多个管理员管理,干扰操作,高权限的管理员会踢掉低权限的管理员。