天天看点

Linux进程管理、系统优先级、系统平均负载

  • 管理进程——终止进程
kill     #根据进程id去终止进程,如果进程不存在,会提示
killall  #根据进程的名称取终止进程,如果进程不存在,会提示,精确匹配
pkill    #根据进程名称终止进程,进程如果不存在,不会提示,模糊匹配
           
1、kill命令id杀死程序
[[email protected] ~]# 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
[[email protected] ~]# kill 7668
[[email protected] ~]# ps aux |grep toproot
7672 0.0 0.0 112708 976 pts/2 R+ 14:57 0:00 grep –color=auto top

[[email protected] ~]# 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一样,将前台进程暂停到后台

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

2、killall命令名称杀死程序
#根据进程的名称取终止进程,如果进程不存在,会提示,精确匹配
yum install -y psmisc
[[email protected] ~]# killall top
[[email protected] ~]# ps aux |grep top
[[email protected] ~]# killall top
top: no process found

3、pkill命令名称所有杀死程序
#根据进程名称终止进程,进程如果不存在,不会提示,模糊匹配
#只要进程名称中包含终止进程服务的名称,就会终止掉,特别是sh这样的进程

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

4、screen
#后台管理进程命令,会生成一个新的子shell,在子shell中运行你的进程,父shell退出了,不影响子shell的运行
[[email protected] ~]# 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  #远程演示,同步演示。
           
  • 远程的优先级
#查看所有进程的优先级
[[email protected] ~]# ps axo user,pid,nice,command

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

[[email protected] ~]# renice -n 0 4361 #修改已经存在的程序的优先级
4361 (process ID) old priority -20, new priority 0
[[email protected] ~]# ps axo user,pid,nice,command |grep sshd
root 4361 0 /usr/sbin/sshd -D
           
  • 系统平均负载
什么是平均负载?
在单位时间内,cpu在运行中或者不可中断中的程序,进程的平均活跃数

查看平均负载命令:
top
w
uptime