进程间通信IPC
- 共享内存
- 信号: Signal
- Semaphore
重要的信号
1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;2: SIGINT:Ctrl+c: 中断一个进程
9: SIGKILL:杀死一个进程
15: SIGTERM:终止一个进程, 默认信号
信号操作
指定一个信号
信号号码:kill -1信号名称:kill -SIGKILL
信号名称简写:kill -KILL
杀死一个信号
kill PIDkillall PName
进程管理
调整进程优先级
renice
调整nice值
调整已经启动的进程的nice值:renice NI PID
nice
在启动时指定nice值:nice -n NI COMMAND
作业管理
前台-->后台
Ctrl+z: 把正在前台的作业送往后台
COMMAND &:让命令在后台执行
bg
让后台的停止作业继续运行
bg [[%]JOBID]
jobs
查看后台的所有作业
作业号,不同于进程号
+:命令将默认操作的作业
-:命令将第二个默认操作的作业
fg
将后台的作业调回前台
fg [[%]JOBID]
kill
kill %JOBID: 终止某作业
系统与进程管理
vmstat
显示进程队列,内存/swap空间负载,IO块交换,中断个数,上下文切换次数,CPU负载等系统信息
vmstat [options] [interval [count]]
-a:显示active/inactive内存信息
-f:显示自开机起所有的forks(fork,vfork,colne system call)数量
-t:额外显示时间戳列
-m:显示slainfo
-s:显示内存及CPU信息,类似与/proc/meminfo和/proc/stat信息
-d:显示磁盘/块设备读写/IO信息
-p sdaN:显示指定分区磁盘读写/IO信息
-S [k | K | m | M]:指定单位(四个单位换算分别为:1000, 1024, 1000000, or 1048576 bytes)
vmstat n:每n秒显示刷新一次
vmstat -a n:每n秒显示刷新一次,显示active/inactive内存信息
vmstat -a n m:每n秒显示刷新一次,显示m次,显示active/inactive内存信息
mpstat
显示CPU处理器相关信息
mpstat [options] [interval [count]]
-A:显示所有信息,相当与 -I ALL -u -P ALL
-I {SUM | CPU | ALL}:显示CPU中断信息
SUM:显示CPU的平均中断总数,单位秒
mpstat -P [0 | 1 | ALL] -I SUM:显示每个CPU的SUM数
CPU:显示每个CPU的individual 中断总数,单位秒
ALL:同时显示SUM和CPU对应的中断信息
-P {cpu0,cpu1……cpuN | ON | ALL}:显示指定CPU处理器的利用率信息
cpuN:要显示的处理器的编号,0表示第一个处理器
ON(ONLINE):只显示在线/联机处理器的利用率信息
ALL:显示所有线上线下处理器的利用率信息
-u:显示利用率信息,默认显示
%irq:硬件中断CPU利用率
%soft:软件中断CPU利用率
iostat
显示内核版本信息,主机名,系统位数,CPU个数,CPU 平均负载,磁盘读写速率和读写总量情况等
iostat [options] [device,……] [interval [count]]
tps(number 0f transfer per second):每秒IO请求的次数
-c:只显示CPU负载信息
-d:只显示磁盘读写信息
-n:只显示NFS相关信息
-p:只显示所有块设备及其分区的读写信息
-h:可读性显示(只对NFS信息有效)
-m:MB为单位显示磁盘读写信息
-k:KB为单位显示磁盘读写信息
-t:显示时间戳
-x:显示扩展信息
iostat -d n:每n秒显示刷新一次,只显示磁盘读写信息
iostat -d n m:每n秒显示刷新一次,显示m次,只显示磁盘读写信息
iostat -d hda hdb n m:每n秒显示刷新一次,显示m次,只显示hda,hdb磁盘读写信息
/proc/stat:系统CPU,intr,ctxt,btime,进程等信息
/proc/uptime:系统uptime信息
/proc/diskstats:分区和块设备信息(包括ramN,loopN,sdaN等磁盘信息)
/proc/partitionts:分区信息(只包括sdaN磁盘信息)
/sys/block:块设备信息(包括ramN,loopN,sda等磁盘信息)
/proc/self/mountstats:系统分区,块设备,以及虚拟文件系统挂载信息
/dev/disk:分区按类别(id,label,path,uuid)存储信息
pidstat
显示当前时间下内核管理的相关进程信息
pidstat [options] [interval [count]]
-C comm:显示命令中包含comm字符的进程信息
-d:显示磁盘IO读写信息
-h:单行显示,显示时间戳为NNNNNN毫秒
-l:显示完整命令行
-p [pid | SELF | ALL]:分别显示指定pid/自身/所有进程的信息
-r:显示进程内存使用情况(RSS,VSZ)以及page faults情况
minflt/s:Total number of minor faults the task has made per second
majflt/s:Total number of major faults the task has made per second
-u:显示进程CPU使用情况
-t:显示线程信息
TGID:线程组ID
TID:线程ID
-T [TASK | CHILD | ALL]:分别显示individual tasks/global tasks 以及 child tasks/individual && global tasks相关信息
uptime
同top显示信息第一行
/proc/meminfo
记录内存详细信息
/proc/1/maps
记录一个进程虚拟内存详细占用情况