Linux运维基础进程管理实时监控控制

 更新时间:2021年09月06日 15:04:54   作者:神慕蔡蔡  
这篇文章主要介绍了Linux运维基础中进程的管理及实时监控控制,有需要的朋友可以借鉴参考下,希望可以有所帮助,共同学习共同进步

1.后台运行作业

1.sleep 999 & (运行作业)
[root@localhost ~]# sleep 999 &
[1] 3670
2.ps -ef|grep sleep(查看进程)
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3671    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3674    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3677    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3678    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3686     950  0 10:54 ?        00:00:00 sleep 60
3.fg(调最后一个)
[root@localhost ~]# fg
sleep 999
4.jobs(查看任务)
[root@localhost ~]# jobs
[1]                sleep 999 &
[3]                sleep 999 &
[4]                sleep 999 &
[6]-               sleep 999 &
[7]+               sleep 999 
ctr1+z(Done)完成
5.说明
fg %N (调指定的任务)
stopped(停滞状态)
bg %3 (运行状态)
+(默认操作的)
-(第二个操作的)

2.使用信号控制进程

基本进程管理信号

信号编号ID 短名称 定义名 用途
1 HUP 挂起 让一个进程不用重启就可以重读配置文件,并让新的配置信息生效
2 INT 键盘中断 中断一个前台进程。ctrl+c就是用的SIGINT信号
9 KILL 中断,无法拦截 导致立即终止程序。无法被拦截、忽略或处理
15默认值 TERM 终止 导致程序终止。和SIGKILL不同,可以被拦截、忽略或处理。要求程序终止的友好方式,允许自我清理

kill命令根据ID向进程发送信号。虽其名称为kill,但该命令可用于发送任何信号,而不仅仅是终止程序的信号

1.查看进程
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3904    3642  0 10:59 pts/1    00:00:00 grep --color=auto sleep
2.删除指定任务
[root@localhost ~]# kill %1
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3906    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[1]               sleep 999
3.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
[root@localhost ~]#
4. kill 3672(删除进程)
查看进程 
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4039    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[root@localhost ~]# kill 3672
[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4054    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
[3]                sleep 99
5.killall sleep(删除所有sleep)
查看进程:[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        4164     950  0 11:01 ?        00:00:00 sleep 60
root        4174    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
成功删除[root@localhost ~]# ps -ef|grep sleep
root        4185    3642  0 11:02 pts/1    00:00:00 grep --color=auto sleep

3.监控进程活动

IO负载

负载数属于全局计数器计算,是所有CPU的总和数。

由于从睡眠返回的任务可能会重新调度到不同的CPU,难以精确的每CPU计数,但累计数的准确度可以保障。

显示的平均负载代表所有的CPU。
显示负载值,实施监控

[root@localhost ~]# top

1.查看负载
[root@localhost ~]# uptime
 11:12:36 up 45 min,  2 users,  load average: 0.06, 0.01, 0.20
 2.显示负载值,实施监控
[root@localhost ~]# top
top - 11:15:03 up 47 min,  2 users,  load average: 0.00, 0.00, 0.16
Tasks: 328 total,   1 running, 327 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :    804.8 total,     67.5 free,    474.7 used,    262.5 buff/cache
MiB Swap:   2048.0 total,   1427.5 free,    620.5 used.    196.8 avail Mem 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   3884 root      20   0       0      0      0 I   0.3   0.0   0:00.57 kworker+ 
   4404 root      20   0   64856   4880   4008 R   0.3   0.6   0:00.17 top      
      1 root      20   0  245372   7252   4356 S   0.0   0.9   0:03.43 systemd  
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd 
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp   
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+ 
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+ 
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+ 
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.24 ksoftir+ 
     10 root      20   0       0      0      0 I   0.0   0.0   0:00.35 rcu_sch+ 
     11 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+ 
     12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 watchdo+ 
     13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0  
     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmp+ 
     16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns    
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd  
     18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 khungta+ 
     说明按m t l 
[root@localhost ~]# top
不显示
按1
显示cpu信息
 

4.实时进程监控

top用于实现全屏动态显示系统信息

//top命令交互式子命令:
    M   //根据驻留内存大小进行排序,默认根据CPU百分比排序
    P   //根据CPU使用百分比进行排序
    T   //根据累计时间(占据CPU时长)进行排序
    l   //是否显示平均负载和启动时间
    t   //是否显示进程和CPU状态相关信息
    m   //是否显示内存相关信息
    c   //是否显示完整的命令行信息
    q   //退出top命令
    k   //终止某个进程
    1   //显示所有CPU的信息
    s   //修改刷新时间间隔
    us  //表示用户空间;
    sy  //表示内核空间;
    ni  //表示调整nice值,CPU占用的比率;
    id  //表示空闲百分比;
    wa  //表示等待IO完成所占据的时间百分比;
    hi  //表示hard interrupt,硬件中断占据的时间百分比;
    si  //表示软中断占据的时间百分比;
    st  //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)
PR      //优先级
NI      //nice值
VIRT    //虚拟内存集
RES     //常驻内存集
SHR     //共享内存大小
S       //进程状态

以上就是Linux运维基础进程管理实时监控控制的详细内容,更多关于Linux运维进程的资料请关注脚本之家其它相关文章!

相关文章

  • 关于Linux的mariadb数据库

    关于Linux的mariadb数据库

    这篇文章主要介绍了关于Linux的mariadb数据库的相关资料,主要就是用户可以对文件中的数据进行新增、截取、更新、删除等操作,需要的朋友可以参考下面文章内容
    2021-09-09
  • linux如何实现一键部署nfs过程图解

    linux如何实现一键部署nfs过程图解

    这篇文章主要介绍了linux如何实现一键部署nfs过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Linux搭建自己Nexus私服的实现方法

    Linux搭建自己Nexus私服的实现方法

    这篇文章主要介绍了Linux搭建自己Nexus私服的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Linux 硬链接和软链接详细介绍

    Linux 硬链接和软链接详细介绍

    这篇文章主要介绍了Linux 硬链接和软链接详细介绍的相关资料,需要的朋友可以参考下
    2016-11-11
  • linux下安装php扩展memcache的方法

    linux下安装php扩展memcache的方法

    这篇文章主要介绍了linux下安装php扩展memcache的方法,需要了解的朋友可以参考下
    2015-07-07
  • 修改sshd默认端口的步骤

    修改sshd默认端口的步骤

    ssh的的默认端口是22,将它修改成别的值会更安全一些,修改步骤看下面介绍
    2014-01-01
  • Linux查看进程的所有信息的方法示例

    Linux查看进程的所有信息的方法示例

    这篇文章主要介绍了Linux查看进程的所有信息的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Linux KVM的QCOW2 和 ROW的详解及区别介绍

    Linux KVM的QCOW2 和 ROW的详解及区别介绍

    这篇文章主要介绍了Linux QCOW2 和 ROW的详解及区别介绍的相关资料,需要的朋友可以参考下
    2016-11-11
  • Ubuntu如何轻松编译openJDK详解

    Ubuntu如何轻松编译openJDK详解

    这篇文章主要给大家介绍了关于Ubuntu如何轻松编译openJDK的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • Vim自定义高亮分组以及一些实用技巧小结

    Vim自定义高亮分组以及一些实用技巧小结

    Vim/Vi基本上是*nix世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和Emacs比起来,Vim更加有亲和力,用起来很舒服。那么下面这篇文章主要给大家介绍了关于Vim自定义高亮分组以及一些实用技巧的相关资料,需要的朋友可以参考下。
    2017-07-07

最新评论