### 第一步:找到某个应用的进程号:
### 第二步:杀死进程
### 在Windows系统中,如果应用程序无反应我们会启动任务管理器终止应用,而在Linux系统中则使用kill命令,kill命令主要用于强制关闭进程
第一步:找到某个应用的进程号:
ps -aux | grep 应用名称
ps -ef | grep 应用名称
top | grep 应用名称
第二步:杀死进程:
正常杀死进程:kill -15 pid号
强制杀死进程: kill -9 pid号
### 共有64个信号量
[root@centos79 ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
### 信号量的几种表示方式
kill pid (默认是15)
kill -s 15 pid
kill -s sigterm pid
kill -s term pid
-------------------
kill -term pid
kill -sigterm pid
kill -15 pid
###实际中常用的只有9种信号(最常用的只有2中:9 和 15):
1 终端断线
2 中断(等同 Ctrl + C)
3 退出(同 Ctrl + \)
15 终止(可以使得进程在退出之前清理并释放资源)
9 强制终止
18 继续(与19相反)
19 暂停(等同 Ctrl + Z)
### 杀死进程最重要的是找到进程号
### 3种常用进程号查找方式
1:ps -aux | grep nginx ## 内容比较详细
root 915 0.0 0.3 37540 7088 ? Ss 4月19 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www 917 0.0 1.8 67236 33384 ? S 4月19 0:00 nginx: worker process
root 12413 0.0 0.0 112828 972 pts/0 R+ 16:10 0:00 grep --color nginx
2:pgrep nginx ## 内容比较简洁,但容易找错
915
917
3:pidof nginx ## pidof必须给出进程的全名,否则找不到
917 915
### 将查找进程与杀死进程合并为一步
1: kill -s 9 `ps -aux | grep nginx | awk '{print $2}'`
2:pgrep nginx | xargs kill -s 9
3:kill -s 9 `pgrep nginx`
4:pkill -9 nginx ### pkill=pgrep+kill
5:killall -9 firefox ### killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill或者pgrep只要给出进程名的一部分就可以终止进程。
### 强制踢掉登陆用户
###查看用户登陆信息: who
###查看自己的身份(避免把自己踢掉):whoam
[root@centos79 ~]# who
root pts/0 2023-04-22 16:07 (223.88.142.210)
root pts/1 2023-04-22 16:07 (223.88.142.210)
chris pts/3 2023-04-22 16:29 (223.88.142.210)
[root@centos79 ~]# whoami
root
1:pkill -kill -t pts/3 ##(按终端踢,pts/3为所踢用户的终端)
2:pkill -u chris ##(按用户名踢,chris为用户名)