linux-进程管理

一、linux-进程管理

灵魂三连问:我是谁?我从哪里来?我要到那里去?
进程:已启动的可执行程序的运行实例
组成部分:
  • 一个文件
  • 被分配内存的地址空间
  • 有权限限制
  • 程序代码的一个或者多个副本(也叫执行线程)
  • 像人一样拥有 状态
1、 ps:process  status
              进程       状态     管理器
2、top:
[root@localhost ~]# ls -l /usr/bin/passwd
-(文件类型)rwsr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd
3、 静态查看进程 ps
状态变化:由系统程序fork具有一定的父资源-> run->s top-> zombie(没有退出)-> sleep
[root@localhost ~]# ps a(all)u(user)x(不以终端机来区分)
//查看进程
USER        PID  %CPU %MEM    VSZ   RSS TTY   STAT
 START   TIME COMMAND
USER:运行程序的用户
PID:进程id;
%CPU:cpu占用率
%MEM:内存占有率
VSZ:占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
STAT:进程状态
ATART:进程的启动时间
TIME:占用cpu时间
COMMAND:程序的路径和名称
root          1  0 0  0.4 193912  4440 ?        Ss   7月27   0:06 /usr/lib/systemd/sys
root          2  0.0  0.0      0     0 ?        S    7月27   0:00 [kthreadd] ......
4、进程排序
ps aux -- sort %cpu
[root@localhost ~]# ps -ef  // 查看进程的父子关系 
了解:自定义显示字段
ps axo
[root@localhost ~]#
[root@localhost ~]# ps axo user,pid,ppid,command |head -3
USER        PID   PPID COMMAND
root          1      0 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0 [kthreadd]
4、 动态查看进程 top
h:所有帮助
q:退出
z:颜色
p:占用内存排序
k:结束进程
<>:前后翻页
上半部分:
1. t op() - 11:30:34 up 2 days, 19:28,  2 users,  load average: 0.00, 0.01, 0.05
2.Tasks: 204 total,   1 running, 203 sleeping,   0 stopped,   0 zombie
3.%Cpu(s):  1.0 us,  0.7 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
4.KiB Mem :   995672 total,    62248 free,   573380 used,   360044 buff/cache
5.KiB Swap:  2097148 total,  1931772 free,   165376 used.   250592 avail Mem
下半部分:
[root@localhost ~]# top -d  3
//三秒刷新一次
5、 使用信号控制进程
5.1、信号种类:
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:重新加载配置
-9:强制终止,无条件
[root@localhost ~]# ps aux |grep vim
root      52660  0.5  2.0 164880 20508 pts/1    S+   12:19   0:00 vim file1
root      52706  0.2  0.5 149856  5544 pts/2    S+   12:20   0:00 vim file2
root      52716  0.0  0.0 112824   976 pts/0    S+   12:20   0:00 grep --color=auto vim
//查看文件1、文件2
[root@localhost ~]# kill -15 52660
//关闭文件1进程为52660
[root@localhost ~]# vim file1
Vim: Caught deadly signal TERM
Vim: Finished.
//删除完后的file1
[root@localhost ~]# kill -9 52706
//杀死文件2进程为52706
已杀死22
//杀死完后的file2
6、 进程优先级nice
nice值越大:表示优先级越低,例如19
nice值越小:表示优先级越高,例如-20
[root@localhost ~]# ps axo pid,command,nice --sort=-nice
//查看nice优先级
   PID COMMAND                      NI
    32 [khugepaged]                 19
   700 /usr/sbin/alsactl -s -n 19   19   ......
[root@localhost ~]# sleep 3  &
//倒计时三秒  &:放到后台
[root@localhost ~]# nice -n -5 sleep 7000 &
// 修改进程优先级为-5
[root@localhost ~]# ps axo pid,command,nice |grep sleep
// 查看进程优先级
60304 sleep 7000                   -5
60358 sleep 60                      0
60361 grep --color=auto sleep       0

二、作业控制jobs(了解)

fg:foreground 前台
bg:background 后台
[root@localhost ~]# jobs
// 查看运行中的后台程序
[root@localhost ~]# fg 1
nice -n -5 sleep 7000
//把1(sleep7000)调回前台
[root@localhost ~]# jobs
[1]+  已停止               sleep 1000
[2]   运行中               sleep 1000 &
[3]   运行中               sleep 2000 &
[4]   运行中               sleep 3000 &
[5]   运行中               sleep 4000 &
[6]-  运行中               sleep 5000 &
[root@localhost ~]# bg 1
// 运行停止的进程
[1]+ sleep 1000 &
[root@localhost ~]# jobs
[1]   运行中               sleep 1000 &
[2]   运行中               sleep 1000 &
[3]   运行中               sleep 2000 &
[4]   运行中               sleep 3000 &
[5]-  运行中               sleep 4000 &
[6]+  运行中               sleep 5000 &

三、虚拟文件系统(proc)

简介: 采集服务器自身、内核、进程运行的状态信息
cpu[root@localhost ~]#  cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 140
model name    : 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz
stepping    : 1
microcode    : 0x86
cpu MHz        : 3110.399
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    : 27
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 rep_good 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 ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips    : 6220.79
clflush size    : 64
cache_alignment    : 64
address sizes    : 45 bits physical, 48 bits virtual
power management:
内存[root@localhost ~]#  cat /proc/meminfo
MemTotal:         995672 kB
MemFree:          111040 kB
MemAvailable:     206416 kB
Buffers:              36 kB
Cached:           234984 kB
SwapCached:        13992 kB
Active:           263140 kB
Inactive:         364852 kB
Active(anon):     157992 kB
Inactive(anon):   265236 kB
Active(file):     105148 kB
Inactive(file):    99616 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        1929980 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        382120 kB
Mapped:            64180 kB
Shmem:             30256 kB
Slab:              99716 kB
SReclaimable:      36624 kB
SUnreclaim:        63092 kB
KernelStack:        9856 kB
PageTables:        36588 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2594984 kB
Committed_AS:    4183628 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      213588 kB
VmallocChunk:   34359277564 kB
Percpu:            55808 kB
HardwareCorrupted:     0 kB
AnonHugePages:     28672 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
内核[root@localhost ~]#  cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8
  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未知百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值