在Linux中如何通过PID结束进程
时间:2019-11-20 08:53:51 来源:igfitidea点击:
如何使用Linux命令行终止进程?
在Linux操作系统中如何使用PID结束进程?
如何强制终止Linux进程?
Linux PID?
PID是process identification number(进程标识号)的首字母缩写。
在Linux操作系统上创建进程时,会自动分配给进程一个PID给。
每个进程都有唯一的PID。
systemd使用的PID号为1(在较旧的Linux发行版中为init)。
init或systemd始终是Linux操作系统上的第一个进程,并且是所有其他进程的父进程。
常见Linux TERM信号列表
Linux操作系统支持以下列出的标准终止信号:
SIGHUP(1)
在控制终端或控制进程终止时检测到挂断。使用SIGHUP来"重新加载配置文件并打开/关闭日志"文件。SIGKILL(9)
杀死信号使用SIGKILL作为终止进程的"最后手段"。它不会保存数据或清除进程。SIGTERM(15)
终止信号。这是杀死进程的"默认和最安全的方法"。
kill和killall命令支持60多个信号。
但是,大多数用户只需要使用信号9或15。
查看完整的信号列表:
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
在Linux中如何获取进程PID
需要PID才能使用kill命令或killall命令或pkill命令来终止进程。
如何找到进程和PID?
要查找firefox/chrome或httpd进程的PID,可以使用以下pidof命令:
pidof firefox pidof chrome pidof httpd
或者使用ps命令
ps aux | grep httpd ps aux | grep firefox ps aux | grep nginx
还可以使用pgrep命令,根据名称查找进程:
pgrep httpd pgrep firefox pgrep nginx
在Linux中使用PID终止进程
kill命令或killall命令的语法如下:
kill -[signal] PID kill -15 PID kill -9 PID kill -SIGTERM PID kill [options] -SIGTERM PID killall -15 app_name killall -9 process_name_such_as_firefox
获取Firefox进程的PID
执行:
pidof firefox
或者
ps aux | grep firefox
或者
pgrep firefox
在Linux中使用PID终止进程
执行:
kill -15 12355
如果以上操作失败,执行下面命令强制杀死进程
kill -9 12355
检查确认
运行以下命令,检查进程是否已经消失(被终止了):
ps aux | grep 12355 pidof firefox pgrep firefox
killall命令
killall命令用于根据名称杀死所有匹配的进程。
例如:
killall -15 chrome killall -9 nginx
pkill命令
pkill命令可以根据名称查找进程并将其杀死。
语法为:
pkill -TERM process pkill -15 firefox pkill -9 nginx