linux命令12

 

进程的属性

进程ID(PID):是唯一的数值,用来区分进程

父进程的父进程的ID(PPID)

启动进程的用户ID(UID)和所归属的组(GID)

进程状态:状态分为运行R、休眠S、僵尸Z

进程执行的优先级

进程所连接的终端名

进程资源占用:比如占用资源大小(内存、CPU 占用量)

 

对于linux进程的管理,是通过进程管理工具实现的,比如:ps、kill等

ps  top 管理进程

ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具。

 

ps  监视进程工具  静态  当前的状态

ps、的参数说明

l  长格式输出

u  按用户名和启动时间的顺序来显示进程

f  用树形格式来显示进程

a  显示所有用户的所有进程(包括其他用户)

r  显示运行中的进程

e  显示所有进程,包括没有控制终端的进程

x  显示没有控制终端的进程

常用的选项组合是ps -aux

[root@localhost ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.3 192104 7352 ? Ss 21:45 0:03 /usr/lib/systemd/systemd --swi
root 2 0.0 0.0 0 0 ? S 21:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 21:45 0:00 [ksoftirqd/0]

ps aux输出的解释

USER  进程的属主;

PID  进程的ID;

PPID  父进程;

%CPU  进程占用的CPU百分比;

%MEM  占用内存的百分比;

NI  进程的NICE值;

VSZ  进程占用虚拟内存大小;

RSS  固定的内存使用数量;

TTY  进程启动的终端ID;

TSAT  进程状态;

  R  正在运行中;

  S  处于休眠状态;

  T  停止或被追踪;

  Z  僵尸进程;

  N  优先级较低的进程;

  L  有些页被锁紧内存;

  s  进程的领导者(在它之下有子进程);

START  启动进程的时间;

TIME  进程消耗CPU的时间;

COMMAND  命令的名称的参数;

 

top  动态查看进程

第一行

21:57:49  当前时间
up  1:31, 系统运行时间,格式为时:分
2 users, 当前登录用户
load average: 0.00, 0.01, 0.05 系统负载,即任务队列评价长度。   3*核数

 

 

 

 

 

 

第二、三行

Tasks: 479 total 进程总数
2 running 正在运行的进程数
477 sleeping, 睡眠的进程数
0 stopped, 停止的进程数
0 zombie 僵尸进程数
%Cpu(s):  0.1 us, 系统用户进程使用cpu百分比
0.2 sy, 内核中的进程占用CPU百分比
0.0 ni, 用户进程空间内改变过优先级的进程占用CPU百分比
99.8 id, 空闲CPU百分比

 

 

 

 

 

 

 

 

 

第四、五行

KiB Mem :  2033552 total, 物理内存总量
1253248 free, 空闲内存总量
377208 used, 使用的物理内存总量
403096 buff/cache

作用内核缓存的内存总量

的 free -k  一个意思

KiB Swap:  2047996 total, 交换区总量
2047996 free, 空闲交换区总量
0 used. 使用的交换区总量
1446928 avail Mem 总的可利用内存是多少

 

 

 

 

 

 

 

 

 

 

进程信息

PID 进程ID
USER 进程所有者的用户名
PR  
NI 进程优先级。nice值。负值表示高优先级,正值表示低优先级
VIRT  
RES 实际油耗内存大小
S

D=不可中断的睡眠状态

R=运行

S=睡眠

T=跟踪/停止

Z=僵尸进程

%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

top快捷键

默认3s刷新一次

空格:立即刷新

q 退出

M 按内存排列

P 按CPU排列

 

 

---恢复内容结束---

进程的属性

进程ID(PID):是唯一的数值,用来区分进程

父进程的父进程的ID(PPID)

启动进程的用户ID(UID)和所归属的组(GID)

进程状态:状态分为运行R、休眠S、僵尸Z

进程执行的优先级

进程所连接的终端名

进程资源占用:比如占用资源大小(内存、CPU 占用量)

 

对于linux进程的管理,是通过进程管理工具实现的,比如:ps、kill等

ps  top 管理进程

ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具。

 

ps  监视进程工具  静态  当前的状态

ps、的参数说明

l  长格式输出

u  按用户名和启动时间的顺序来显示进程

f  用树形格式来显示进程

a  显示所有用户的所有进程(包括其他用户)

r  显示运行中的进程

e  显示所有进程,包括没有控制终端的进程

x  显示没有控制终端的进程

常用的选项组合是ps -aux

[root@localhost ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.3 192104 7352 ? Ss 21:45 0:03 /usr/lib/systemd/systemd --swi
root 2 0.0 0.0 0 0 ? S 21:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 21:45 0:00 [ksoftirqd/0]

ps aux输出的解释

USER  进程的属主;

PID  进程的ID;

PPID  父进程;

%CPU  进程占用的CPU百分比;

%MEM  占用内存的百分比;

NI  进程的NICE值;

VSZ  进程占用虚拟内存大小;

RSS  固定的内存使用数量;

TTY  进程启动的终端ID;

TSAT  进程状态;

  R  正在运行中;

  S  处于休眠状态;

  T  停止或被追踪;

  Z  僵尸进程;

  N  优先级较低的进程;

  L  有些页被锁紧内存;

  s  进程的领导者(在它之下有子进程);

START  启动进程的时间;

TIME  进程消耗CPU的时间;

COMMAND  命令的名称的参数;

 

top  动态查看进程

第一行

21:57:49  当前时间
up  1:31, 系统运行时间,格式为时:分
2 users, 当前登录用户
load average: 0.00, 0.01, 0.05 系统负载,即任务队列评价长度。   3*核数

 

 

 

 

 

 

第二、三行

Tasks: 479 total 进程总数
2 running 正在运行的进程数
477 sleeping, 睡眠的进程数
0 stopped, 停止的进程数
0 zombie 僵尸进程数
%Cpu(s):  0.1 us, 系统用户进程使用cpu百分比
0.2 sy, 内核中的进程占用CPU百分比
0.0 ni, 用户进程空间内改变过优先级的进程占用CPU百分比
99.8 id, 空闲CPU百分比

 

 

 

 

 

 

 

 

 

第四、五行

KiB Mem :  2033552 total, 物理内存总量
1253248 free, 空闲内存总量
377208 used, 使用的物理内存总量
403096 buff/cache

作用内核缓存的内存总量

的 free -k  一个意思

KiB Swap:  2047996 total, 交换区总量
2047996 free, 空闲交换区总量
0 used. 使用的交换区总量
1446928 avail Mem 总的可利用内存是多少

 

 

 

 

 

 

 

 

 

 

进程信息

PID 进程ID
USER 进程所有者的用户名
PR  
NI 进程优先级。nice值。负值表示高优先级,正值表示低优先级
VIRT  
RES 实际油耗内存大小
S

D=不可中断的睡眠状态

R=运行

S=睡眠

T=跟踪/停止

Z=僵尸进程

%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

top快捷键

默认3s刷新一次

空格:立即刷新

q 退出

M 按内存排列

P 按CPU排列

 

 一个存放内存中的特殊目录/proc

这个目录比较特殊,它并不在磁盘上,而在内存当中;当前系统运行的所有进程都动态的存放在这个目录中。

[root@localhost ~]# ls /proc/
1 132 1606 1843 200 23 263 31 521 571 629 813 943 loadavg
10 133 1607 1847 2002 230 264 310 522 572 63 814 944 locks
100 134 161 185 2007 231 265 311 524 573 64 819 95 mdstat
101 135 162 1851 201 232 266 312 525 574 640 82 951 meminfo
102 136 163 186 2011 233 267 313 526 575 641 828 96 misc
103 137 164 1862 202 234 268 314 527 576 642 83 97 modules
104 138 165 1869 203 235 269 315 53 577 643 837 972 mounts
105 139 166 187 204 236 27 3192 530 578 644 838 98 mpt
1059 14 167 1874 205 237 272 3197 54 579 645 84 985 mtrr
106 140 168 188 206 238 273 32 544 58 646 85 99 net
107 141 169 1881 2063 239 274 33 545 580 65 86 996 pagetypeinfo
108 142 17 1882 207 24 2754 334 546 581 66 87 acpi partitions

 

kill 用法

  关闭进程:kill 【进程号】

  通过信号的方式来控制进程

  

[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

 

(9)信号来终止进程

#systemctl   start  httpd 

#killall httpd    pkill httpd

 

#ps -aux  | grep httpd

[root@localhost ~]# pstree
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─2*[abrt-watch-log]
├─abrtd
├─accounts-daemon───2*[{accounts-daemon}]
├─alsactl
├─anacron
├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
│ └─3*[{at-spi-bus-laun}]
├─at-spi2-registr───{at-spi2-registr}
├─atd
├─auditd─┬─audispd─┬─sedispatch
│ │ └─{audispd}
│ └─{auditd}
├─avahi-daemon───avahi-daemon
├─caribou───2*[{caribou}]
├─chronyd
├─colord───2*[{colord}]
├─crond
├─cupsd
├─2*[dbus-daemon───{dbus-daemon}]
├─dbus-launch
├─dconf-service───2*[{dconf-service}]
├─dnsmasq───dnsmasq
├─firewalld───{firewalld}
├─gdm─┬─Xorg
│ ├─gdm-session-wor─┬─gnome-session─┬─gnome-settings-───4*[{gnome-settings-}]
│ │ │ ├─gnome-shell─┬─ibus-daemon─┬─ibus-dconf───3*[{+
│ │ │ │ │ ├─ibus-engine-sim──+++
│ │ │ │ │ └─2*[{ibus-daemon}]
│ │ │ │ └─6*[{gnome-shell}]
│ │ │ └─3*[{gnome-session}]
│ │ └─2*[{gdm-session-wor}]
│ └─3*[{gdm}]
├─goa-daemon───3*[{goa-daemon}]
├─goa-identity-se───2*[{goa-identity-se}]
├─gssproxy───5*[{gssproxy}]
├─gvfs-afc-volume───2*[{gvfs-afc-volume}]
├─gvfs-goa-volume───{gvfs-goa-volume}
├─gvfs-gphoto2-vo───{gvfs-gphoto2-vo}
├─gvfs-mtp-volume───{gvfs-mtp-volume}
├─gvfs-udisks2-vo───2*[{gvfs-udisks2-vo}]
├─gvfsd───{gvfsd}
├─ibus-x11───2*[{ibus-x11}]
├─irqbalance
├─ksmtuned───sleep
├─libvirtd───15*[{libvirtd}]
├─lsmd
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─mission-control───2*[{mission-control}]
├─packagekitd───2*[{packagekitd}]
├─polkitd───5*[{polkitd}]
├─pulseaudio───2*[{pulseaudio}]
├─rhnsd
├─rhsmcertd
├─rngd
├─rsyslogd───2*[{rsyslogd}]
├─rtkit-daemon───2*[{rtkit-daemon}]
├─smartd
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
├─udisksd───4*[{udisksd}]
├─upowerd───2*[{upowerd}]
├─vmtoolsd───{vmtoolsd}
└─wpa_supplicant

 

进程的优先级管理

进程的优先级的定义

 

优先级取值范围为(-20到19)

越小优先级越高,默认优先级是0

 

有必要可以写-30,但系统默认为-20.

nice  指定程序的运行优先级

例如;nice  -5   vim   a.txt  #以5级别运行

   nice  -n  -5   vim   a.txt  #以-5级别运行

ps  -aux  | grep  vim    #查看vim的进程号

top -p  vim   查看运行级别 

 

renice  改变正在运行的进程的优先级

#renice -n -5 vim

 

[root@localhost ~]# free -m  #查看内存
total used free shared buff/cache available
Mem: 1985 365 1124 9 496 1411
Swap: 1999 0 1999

posted @ 2017-05-31 23:07  xlous__dtata  阅读(496)  评论(0)    收藏  举报