一、作业控制
1、简介
1)概述
作业控制是一个命令行功能,也叫后台运行。
2)关键词介绍
goreground(fg):前台进程:是在终端中运行的命令,占领终端。
background(bg):后台进程:没有控制终端,他不需要终端的交互,看不到,但是在运行。
2、后台程序控制
1)观察占领前端的现象
命令:sleep 等待时间
[root@localhost ~]# sleep 2000 //sleep程序前台运行 ^C //按Ctrl+c终止进程 [root@localhost ~]#
运行一个程序,当前 终端无法输入。观察占领前台的现象。
大部分命令行输入已经无效。
Ctrl+C可终止当前进程。
2)将程序在后台运行
命令:sleep 等待时间 & //不管什么命令末尾加上&代表着该程序在后台运行,不占用前台。
[root@localhost ~]# vim /test/file1 & //vim进程在后台运行 [2] 3045 [root@localhost ~]# sleep 3000 & //sleep 3000在后台运行 [3] 3061 [2]+ 已停止 vim /test/file1 [root@localhost ~]# sleep 4000 & //sleep 4000在后台运行 [4] 3076
3)查看进程(所有进程以及后台进程)
命令:ps aux | grep sleep //查询所有sleep进程
jobs //查询后台进程
[root@localhost ~]# ps aux|grep sleep //查询所有sleep进程信息 root 3061 0.0 0.0 108052 356 pts/0 S 08:59 0:00 sleep 3000 root 3076 0.0 0.0 108052 356 pts/0 S 08:59 0:00 sleep 4000 root 3377 0.0 0.0 108052 356 ? S 09:24 0:00 sleep 60 root 3393 0.0 0.0 112824 980 pts/0 R+ 09:25 0:00 grep --color=auto sleep [root@localhost ~]# jobs //查询所有后台进程信息 [2]+ 已停止 vim /test/file1 [3] 运行中 sleep 3000 & [4]- 运行中 sleep 4000 &
ps aux输出的信息代表的含义可参考http://t.csdn.cn/OaXXO内容
后台进程信息的方括号内的数字代表着,后台进程的序号,在对后台进程进行操作的时候用这些序号
4)将后台进程调到前台
命令:fg 后台进程序号 //将指定的后台进程调至前台
[root@localhost ~]# jobs [2]+ 已停止 vim /test/file1 [3] 运行中 sleep 3000 & [4]- 运行中 sleep 4000 & [root@localhost ~]# fg 3 //将三号后台进程调到前台 sleep 3000 //sleep 3000到了前台运行 这个时候所有命令输入都失效,按Ctrl+Z可将该进程移到后台 ^Z //Ctrl+Z [3]+ 已停止 sleep 3000 //此时sleep到了后台运行切已停止,用bg命令:bg 后台进程序号,将该进程变为运行状态 [root@localhost ~]# bg 3 [3]+ sleep 3000 & [root@localhost ~]# jobs [2]+ 已停止 vim /test/file1 [3] 运行中 sleep 3000 & [4]- 运行中 sleep 4000 &
5)消灭后台进程
命令:kill %后台进程序号
注意:注意,“kill 1” 和 “kill %1”不同
前者终止PID为1的进程
后者是杀死作业序号为1的后台程序
[root@localhost ~]# jobs //查看所有后台进程信息 [2]+ 已停止 vim /test/file1 [3] 运行中 sleep 3000 & [4]- 运行中 sleep 4000 & [root@localhost ~]# kill %3 //杀死3号后台进程 [3]+ 已终止 sleep 3000 [root@localhost ~]# jobs //3号后台进程被终止 [2]+ 已停止 vim /test/file1 [4]- 运行中 sleep 4000 &
6)总结
& //后台运行程序
jobs //查询后台
kill %后台进程号 //停止后台进程
二、虚拟文件系统proc
1、简介
虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
1)CPU
位置:/proc/cpuinfo
查看CPU信息:命令:cat /proc/cpuinfo
[root@localhost ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 158 model name : Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz //CPU的版本信息 stepping : 10 microcode : 0xb4 cpu MHz : 2400.006 cache size : 8192 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities bogomips : 4800.01 clflush size : 64 cache_alignment : 64 address sizes : 43 bits physical, 48 bits virtual power management:
2)内存
位置:/proc/meminfo
查看内存信息:命令:cat /proc/meminfo
[root@localhost ~]# cat /proc/meminfo MemTotal: 995676 kB MemFree: 78340 kB MemAvailable: 106484 kB Buffers: 40 kB Cached: 141940 kB SwapCached: 7056 kB Active: 281584 kB Inactive: 311344 kB Active(anon): 218332 kB Inactive(anon): 246860 kB Active(file): 63252 kB Inactive(file): 64484 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097148 kB SwapFree: 2054140 kB Dirty: 20 kB Writeback: 0 kB AnonPages: 445268 kB Mapped: 66112 kB Shmem: 14244 kB Slab: 120452 kB SReclaimable: 56216 kB SUnreclaim: 64236 kB KernelStack: 9616 kB PageTables: 35212 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2594984 kB Committed_AS: 3990648 kB VmallocTotal: 34359738367 kB VmallocUsed: 213604 kB VmallocChunk: 34359277564 kB Percpu: 55808 kB HardwareCorrupted: 0 kB AnonHugePages: 36864 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 100224 kB DirectMap2M: 948224 kB DirectMap1G: 0 kB
3)内核
位置:/proc/cmdline
查看内核信息:命令:cat /proc/cmdline
[root@localhost ~]# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8