• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

后台进程管理、系统优先级、系统平均负载【显哥出品,必为精品】

运维基础 lixian 5年前 (2020-01-07) 165891次浏览 11个评论 扫描二维码
文章目录[隐藏]

1、管理进程——终止进程

kill  #根据进程id去终止进程,如果进程不存在,会提示
killall  #根据进程的名称取终止进程,如果进程不存在,会提示,精确匹配
pkill  #根据进程名称终止进程,进程如果不存在,不会提示,模糊匹配

①、kill命令id杀死程序

[root@lixian ~]# ps aux |grep toproot
7668 0.0 0.1 161880 2184 pts/1 S+ 14:57 0:00 toproot
7670 0.0 0.0 112708 976 pts/2 R+ 14:57 0:00 grep –color=auto top
[root@lixian ~]# kill 7668
[root@lixian ~]# ps aux |grep toproot
7672 0.0 0.0 112708 976 pts/2 R+ 14:57 0:00 grep –color=auto top

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

常用的:
1) SIGHUP    #重新加载配置文件,平滑重启
2) SIGINT    #跟ctrl+c一样,终止进程
9) SIGKILL    #强制终止进程
15) SIGTERM    #终止进程,默认的信号
20) SIGTSTP    #跟ctrl+z一样,将前台进程暂停到后台

[root@lixian ~]# kill -15 2233   #终止进程
[root@lixian ~]# kill -1 2570   #平滑重启,进程的ID不会改变,会重新加载配置文件
[root@lixian ~]# kill -2 2726   #取消当前进程的操作
[root@lixian ~]# kill -9 3091   #强制终止进程
[root@lixian ~]# kill -20 3091   #将前台进程暂停到后台

②、killall命令名称杀死程序

#根据进程的名称取终止进程,如果进程不存在,会提示,精确匹配
yum install -y psmisc
[root@lixian ~]# killall top
[root@lixian ~]# ps aux |grep top
[root@lixian ~]# killall top
top: no process found

③、pkill命令名称所有杀死程序

#根据进程名称终止进程,进程如果不存在,不会提示,模糊匹配
#只要进程名称中包含终止进程服务的名称,就会终止掉,特别是sh这样的进程

后台进程管理
nohup   #不中断运行程序
&   #将前台运行的程序放入到后台运行
jobs   #显示当前终端后台的用户执行的进程
bg %id号   #让一个暂停的后台进程在后台进行运行
fg %id号   #让一个后台的进程放入到前台运行

④、screen

#后台管理进程命令,会生成一个新的子shell,在子shell中运行你的进程,父shell退出了,不影响子shell的运行
[root@lixian ~]# screen #随机打开一个子shell窗口
[screen is terminating]
Ctrl键+a+d  #临时退出这个子shell
exit  #是真正的退出这个子shell窗口
screen -list  #显示所有screen的shell窗口
screen -r 8520  #进入指定的shell中
screen -S ping  #给这个子shell起个名字
screen -x tar  #远程演示,同步演示。

2、远程的优先级

#查看所有进程的优先级
[root@lixian ~]# ps axo user,pid,nice,command

#在启动一个程序时,设定该程序的优先级
[root@lixian ~]# nice -n -10 vim test.txt

[root@lixian ~]# renice -n 0 4361 #修改已经存在的程序的优先级
4361 (process ID) old priority -20, new priority 0
[root@lixian ~]# ps axo user,pid,nice,command |grep sshd
root 4361 0 /usr/sbin/sshd -D

3、系统平均负载

什么是平均负载?
在单位时间内,cpu在运行中或者不可中断中的程序,进程的平均活跃数

查看平均负载命令:
top
w
uptime
具体平均负载请看我前几天写的负载篇点击博客链接:【Linux运维】一幅图秒懂LoadAverage(负载)


本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:后台进程管理、系统优先级、系统平均负载【显哥出品,必为精品】
喜欢 (18)

您必须 登录 才能发表评论!

(11)个小伙伴在吐槽
  1. I know this web site offers quality based articles and extra information, is there anyother web site which offers such information in quality?
  2. 显哥,博客我转载了。
    匿名2022-11-08 16:43
  3. :mrgreen: 不是闲置的是时候是80多 :grin: ,是cpu空闲的就是没干活的占70%到80%,我没说清楚不好意思 :grin: ,user占10%左右,kernel占10%左右,io是0%,swap是0%,
    匿名2020-12-14 15:57
  4. CPU闲置的是81.6%,在这附近浮动,这个是个web应用的数据源数据库服务器,有个监控工具一直报警说是这个服务器负载太高了,报警的阈值是10,现在负载大概是14附近,但是我觉得是正常的,请教一下大神看看自己想法是否正确 :mrgreen:
    匿名2020-12-14 15:33
    • lixian
      CPU闲置的时候就81%?81.6%是你的CPU利用率吧,CPU利用率和CPU负载没有太大本质的关系,负载是正常的,CPU很高是不是程序大了或者io读写多了,如果是正常的 那CPU没问题,理论上81%确实有点高了,不过因为是数据库服务器,牵扯到io一直读写 ,高也是正常可能是因为你们业务量大的原因吧!
      lixian2020-12-14 15:44
  5. 首先感谢您的答复,下面是top执行结果的一部分,CPU states: 81.6% idle, 9.8% user, 8.6% kernel, 0.0% iowait, 0.0% swap 大概是这个么情况,服务器应该正常的哦 :mrgreen:
    匿名2020-12-14 14:48
    • lixian
      系统负载除以核心总数,只要每个核心的负载不超过1.0,计算机就会如常运行。CPU81.6%看看是不是某个进程或者程序导致的高了。还是本来就这么高,有没有服务器监控,显示是一段时间81.6%还是一直是81.6%。如果是正常的就没问题,因为你CPU很多 所以平均负载高也正常。
      lixian2020-12-14 15:08
    • lixian
      14.02/48大概是0.2左右是正常的
      lixian2020-12-14 15:09
  6. 大佬,请教个问题,Solaris 5.11版本的系统,cpu通过命令 mpstat 查看返回48行说明是48核cpu,负载是 14.02,14.37,14.39 ,负载算高吗?
    匿名2020-12-14 11:02
    • lixian
      平均负载不是越小越好,看的是一分钟 五分钟 十分钟数值的变化,这三个数值在依次增大,说明负载是依次减小的,然后看htop或者top 看下CPU的占用百分比是不是CPU高了,你这个核心数48核心的应该不算高
      lixian2020-12-14 13:54
  7. 不错
    匿名2020-01-08 19:08