linux中怎么干掉一个进程【文末赠书】

admin 2022年2月21日01:14:37评论33 views字数 2570阅读8分34秒阅读模式

你是否曾经遇到过启动应用程序,而在使用该应用程序时突然变得无响应并意外崩溃的情况?你尝试再次启动该应用程序,但没有任何反应,因为原始应用程序进程从未真正完全关闭。

普通用户可以杀死自己的进程,但不能杀死属于其他用户的进程,而root用户可以杀死所有进程。

系统kill信号

killkillall可以将给定信号发送到指定的进程或进程组。当没有指定信号时,两个工具都会发送-15(-TERM)。

最常用的信号是:

  • 1(-HUP):重新启动进程。
  • 9 (-KILL):杀死一个进程。
  • 15 (-TERM):正常停止进程。

可以通过三种不同的方式指定信号:

  • 使用带有SIG前缀(例如-SIGHUP)
  • 使用数字(例如-1)
  • 不带SIG前缀(例如-HUP) 。

使用-l选项列出所有可用信号:

kill -l  # or killall -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命令终止进程

要使用kill命令终止进程,首先需要找到进程PID。你可以使用不同的命令来执行此操作,例如top, ps ,pidofpgrep

假设我们的Firefox浏览器已无法响应,你需要取消Firefox进程。要找到过程PID,请使用pidof命令:

pidof firefox

以上命令将显示所有Firefox进程:

2551 2514 1963 1856 1771

一旦你知道Firefox处理PID以终止所有PID,请输入:

kill -9 2551 2514 1963 1856 1771

使用killall命令终止进程

killall命令终止与指定名称匹配的所有程序。

使用与之前相同的方案,我们可以通过键入以下命令来终止Firefox进程:

killall -9 firefox

killall接受几个选项,例如指定使用用户身份运行的进程,使用正则表达式以及根据创建时间终止进程。你可以通过键入killall(不带任何参数)来获得所有选项的列表。

例如,如果我们要终止以用户身份运行的所有进程rumenz,则可以运行以下命令:

killall -u rumenz

杀死运行时间超过 5h 的进程

killall -o 5h

杀死进行时间小于 4h 的进程

killall -y 4h

默认情况下,killall 命令是大小写敏感的,所以我们如果写错大小写,将无法正确杀死进程。

killall -I NGINX

等待直到某个进程被终止,可以使用 -w 选项,其中 w 代表 wait

killall -w

使用pkill命令终止进程

pkill使用正则表达式来匹配进程名称。

ps -eo pid,cmd  | grep ssh
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

通过正则批量关闭

pkill '^ssh$'


以上转自:入门小站


赠书福利

linux中怎么干掉一个进程【文末赠书】

一:Linux从入门到精选

推荐理由:本书以Linux发行版CentOS 77为基础,从基本的系统安装开始讲起,然后逐步介绍Linux系统的常用操作命令,以及软件和服务的安装与使用,并在后介绍Shell脚本的使用和防火墙的管理规则,其中重点介绍Linux系统日常维护命令的使用,带领读者系统地学习Linux的操作,帮助他们从一个“小白”成长为一个初级系统管理员。
 
赠书规则

     为了感谢大家一直以来的关注与支持,会有四书籍免费赠送linux中怎么干掉一个进程【文末赠书】

     规则如下:

     1.  本文末点‘在看’,不需要转发朋友圈,点个‘在看’就可以。

     2. 私聊文末公众号发送“赠书”即可扫描参与抽奖,注意看是发送暗号“赠书”

     3. 中奖者不满足条件1,视为放弃中奖资格。

     4. 活动截止时间为2月21日 17:00点,到时候还要中奖者及时联系号主发送你的中奖核验二维码、收货地址、姓名、手机号以及想要的书籍,好给您发送书籍哦!24小时内未联系号主视为自动放弃!骗书行为出版社会永久拉黑!


先点“再看”,然后点击下方公众号私聊发送“赠书” 即可马上扫描参与抽奖linux中怎么干掉一个进程【文末赠书】

原文始发于微信公众号(LemonSec):linux中怎么干掉一个进程【文末赠书】

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月21日01:14:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   linux中怎么干掉一个进程【文末赠书】http://cn-sec.com/archives/794532.html

发表评论

匿名网友 填写信息