01 /var/run/yum.pid 已被锁定,PID 为 2790 的另一个程序正在运行 , KILL杀

目录

方法一:

方法二:

kill的用法:

一、杀死后台一个进程

原理解读:

常用的只有9种信号:

二、踢出一个用户(杀死一个用户开启的所有进程)

(1)查看用户登陆信息: who

(2)查看自己的身份

(3)踢出登陆的用户

kill的注意事项:


方法一:

首先:   rm -f   /var/run/yum.pid
然后:  再次运行Yum

方法二:

kill -9 pid号 #强制杀死该进程

kill -9 2790 #杀死pid为2790的程序

kill的用法:

kill命令主要用于强制关闭进程

一、杀死后台一个进程

第一步:找到某个应用的进程号:

ps -aux | grep 应用名称    ps -ef | grep 应用名称    top  | grep 应用名称 

[root@localhost ~]# ps -aux
USER    PID %CPU  %MEM    VSZ    RSS   TTY STAT START   TIME COMMAND
root         1      0.0       0.4      128156    4076  ?        Ss  09:58      0:01  /usr/lib/sys
root         2      0.0       0.0           0          0       ?        S    09:58      0:00  [kthreadd]
root         3      0.0       0.0           0          0       ?        S    09:58      0:00  [ksoftirqd/0
root         4      0.0       0.0           0          0       ?        R    09:58      0:00  [kworker/0:0
root         5      0.0       0.0           0          0       ?        S<  09:58      0:00  [kworker/0:0
root         7      0.0       0.0           0          0       ?        S    09:58      0:00  [migration/0
root         8      0.0       0.0           0          0       ?        S    09:58      0:00  [rcu_bh]
root         9      0.0       0.0           0          0       ?        S    09:58      0:00  [rcu_sched]
root        10     0.0       0.0           0          0       ?        S<  09:58      0:00  [lru-add-

第二步:杀死进程

正常杀死进程:kill  -15  pid号

如杀死上图中pid为10的进程:kill -15 10

强制杀死进程: kill -9 pid号

注:杀死进程的时候,推荐是正常杀死进程,而不是强制杀死进程。

原理解读:

Kill命令和信号

  当你执行一个“kill”命令,你实际上发送了一个信号给系统,告诉它去终结不正常的应用。总共有60个你可以使用的信号,但是基本上你只需要知道SIGTERM(15)(正常杀死信号)和SIGKILL(9)(强制杀死信号)。

kill -l              #信号的列表

[root@localhost ~]# 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   

共有64种信号,每种信号均有名称和对应的信号序列号,当想要发送什么信号给系统的时候,只要告知系统该信号的序列号即可。

常用的只有9种信号:

- 1         #终端断线
- 2          #中断(等同 Ctrl + C)
- 3          #退出(同 Ctrl + \)
- 15        #终止(可以使得进程在退出之前清理并释放资源)
- 9         #强制终止

- 18        #继续(与19相反)
- 19        #暂停(等同 Ctrl + Z)

二、踢出一个用户(杀死一个用户开启的所有进程)

(1)查看用户登陆信息: who

[root@localhost ~]# who
root     :0           2022-03-07 09:58 (:0)
root     pts/0        2022-03-07 10:13 (:0)

(2)查看自己的身份

        whoami               #避免把自己踢掉

(3)踢出登陆的用户

pkill  -kill  -t  pts/2 (按终端,pts/2为所被下线用户的终端)

pkill   -u   lisi       #强制下线用户lisi

killall  -9  -u  lisi    #强制下线用户lisi

kill的注意事项:

1.如果kill时,不指定信号就会默认发送信号15,终止指定进程,使得进程在退出之前清理并释放资源。

2.使用kill时,root用户将影响用户的进程,非root用户只能影响自己的进程。

3.使用kill时,当kill向进程发送信号,必须是这些进程的主人。如果杀死一个没有权限杀死的进程或杀死一个不存在的进程,就会报错。如下:
-bash: kill: (20) - No such process

4.使用kill时,如果成功地发送了信号,shell会在屏幕上显示出进程的终止信息。(按下Enter键,就会显示出来)

5.使用kill时,如果使用信号9,使进程强行终止,可能会使数据丢失或者终端无法恢复到正常状态。

6.init进程,它是一个由内核启动的用户级进程,所有进程都是init进程的子孙,init不可杀。

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值