如何在Linux中以PID结束任务
时间:2020-01-09 14:17:07 来源:igfitidea点击:
如何从Linux命令行中终止进程?
如何在Linux操作系统中以PID结束任务?
通过发送适当的终止信号来强制终止Linux进程。
在本教程中我们学习了如何结束Linux命令行选项的任务(杀死任务)。
在Linux中什么是PID?
PID是过程标识号的首字母缩写。
在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命令和grep命令/egrep命令:
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
让我们看看如何使用PID从命令行中终止进程或任务。
步骤1获取Firefox进程的PID
运行:
pidof firefox
或者
ps aux | grep firefox
或者
pgrep firefox
输出示例:
22171
步骤2在Linux中使用PID终止任务
运行:
kill -15 22171
如果以上操作失败,请运行:
kill -9 22171
步骤3验证
运行以下命令以确保具有PID 22171的任务消失:
ps aux | grep 22171 pidof firefox pgrep firefox
在这个最后的示例中,找到一个backup-job.sh任务的pid并将其杀死:
pgrep backup-job.sh kill -15 29107
关于killall命令的说明
此命令按名称杀死进程。
无需查找PID。
假设您要杀死任务或名为chrome的进程,只需运行:
killall -15 chrome killall -9 nginx
pkill命令
pkill命令可以根据名称查找进程或任务并将其杀死。
语法为:
pkill -TERM process pkill -15 firefox pkill -9 nginx