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

目录

  • 1.后台运行作业
  • 2.使用信号控制进程
    • 基本进程管理信号
  • 3.监控进程活动
    • IO负载
  • 4.实时进程监控
    • top用于实现全屏动态显示系统信息

1.后台运行作业
1.sleep 999 & (运行作业)[root@localhost ~]# sleep 999 &[1] 36702.ps -ef|grep sleep(查看进程)[root@localhost ~]# ps -ef|grep sleeproot367036420 10:54 pts/100:00:00 sleep 999root367136420 10:54 pts/100:00:00 sleep 999root367236420 10:54 pts/100:00:00 sleep 999root367336420 10:54 pts/100:00:00 sleep 999root367436420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root367736420 10:54 pts/100:00:00 sleep 999root367836420 10:54 pts/100:00:00 sleep 999root36869500 10:54 ?00:00:00 sleep 603.fg(调最后一个)[root@localhost ~]# fgsleep 9994.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 sleeproot367036420 10:54 pts/100:00:00 sleep 999root367236420 10:54 pts/100:00:00 sleep 999root367336420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root39019500 10:59 ?00:00:00 sleep 60root390436420 10:59 pts/100:00:00 grep --color=auto sleep2.删除指定任务[root@localhost ~]# kill %1[root@localhost ~]# ps -ef|grep sleeproot367236420 10:54 pts/100:00:00 sleep 999root367336420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root39019500 10:59 ?00:00:00 sleep 60root390636420 11:00 pts/100:00:00 grep --color=auto sleep[1]sleep 9993.kill -l(列出所有可以支持的程序)[root@localhost ~]# kill -l 1) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL5) SIGTRAP 6) SIGABRT7) SIGBUS8) SIGFPE9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+338) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+843) SIGRTMIN+944) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-758) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-263) SIGRTMAX-164) SIGRTMAX[root@localhost ~]#4. kill 3672(删除进程)查看进程 [root@localhost ~]# ps -ef|grep sleeproot367236420 10:54 pts/100:00:00 sleep 999root367336420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root39259500 11:00 ?00:00:00 sleep 60root403936420 11:00 pts/100:00:00 grep --color=auto sleep[root@localhost ~]# kill 3672[root@localhost ~]# ps -ef|grep sleeproot367336420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root39259500 11:00 ?00:00:00 sleep 60root405436420 11:01 pts/100:00:00 grep --color=auto sleep[3]sleep 995.killall sleep(删除所有sleep)查看进程:[root@localhost ~]# ps -ef|grep sleeproot367336420 10:54 pts/100:00:00 sleep 999root367536420 10:54 pts/100:00:00 sleep 999root367636420 10:54 pts/100:00:00 sleep 999root41649500 11:01 ?00:00:00 sleep 60root417436420 11:01 pts/100:00:00 grep --color=auto sleep成功删除[root@localhost ~]# ps -ef|grep sleeproot418536420 11:02 pts/100: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 ~]# toptop - 11:15:03 up 47 min,2 users,load average: 0.00, 0.00, 0.16Tasks: 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 stMiB Mem :804.8 total,67.5 free,474.7 used,262.5 buff/cacheMiB Swap:2048.0 total,1427.5 free,620.5 used.196.8 avail Mem PID USERPRNIVIRTRESSHR S%CPU%MEMTIME+ COMMAND3884 root200000 I0.30.00:00.57 kworker+ 4404 root2006485648804008 R0.30.60:00.17 top1 root20024537272524356 S0.00.90:03.43 systemd2 root200000 S0.00.00:00.00 kthreadd 3 root0 -20000 I0.00.00:00.00 rcu_gp4 root0 -20000 I0.00.00:00.00 rcu_par+ 6 root0 -20000 I0.00.00:00.00 kworker+ 8 root0 -20000 I0.00.00:00.00 mm_perc+ 9 root200000 S0.00.00:00.24 ksoftir+ 10 root200000 I0.00.00:00.35 rcu_sch+ 11 rootrt0000 S0.00.00:00.00 migrati+ 12 rootrt0000 S0.00.00:00.00 watchdo+ 13 root200000 S0.00.00:00.00 cpuhp/015 root200000 S0.00.00:00.00 kdevtmp+ 16 root0 -20000 I0.00.00:00.00 netns17 root200000 S0.00.00:00.00 kauditd18 root200000 S0.00.00: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运维进程的资料请关注脚本之家其它相关文章!

    推荐阅读