标签:linux
while:
break:提前退出循环
continue:提前结束循环,而进入下一轮循环
while :; do
********
done (死循环)
函数:function
代码重复使用,结构化,不能单独运行,需要被调用时才可以被使用
1.function 函数名{ 2.function(){
********* *********
} }
return # : 自定义返回值
OS = kernel(内核) + process(进程)
应用程序 --> 进程 --> 多个线程
多个进程只能在一个cpu上切换运行,但是多个线程可以同时在多个cpu核心上同时运行
init:是所有进程的父进程(pstree命令可以查看进程树),init负责生成其他任务的进程
进程优先级关系:0-139
100-139:用户可控制
0-99:内核调整
优先级高的进程:
1.获得更多的cpu运行时间
2.更优先获得运行的机会
nice值:
默认为0,-20--19 与 100-139 相对应,某些进程的默认优先级,普通用户仅能调大自己的进程nice值
PID:每一个进程都有一个ID号,在/proc目录中每一组数都是一个进程,init的进程ID号永远都为1
且进程分两类:跟终端相关的进程 和 跟终端无关的进程
ps:查看进程状态,默认显示跟终端有关的进程,参数格式有两种:
一种是:sysV(罗马数字):参数可以不用-
a 显示跟终端有关的进程
u 显示用户等其他信息
x 显示跟终端无关的进程
另一种是:BSD
一般常用:-elF -ef -eF
ps -o 属性1(pid) 指定查看 ,常用 -axo
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
用户名 id号 cpu使用率 内存使用率 虚拟内存级 常驻内存级 终端 状态 开始时间 运行总时间 命令或可执行的文件
进程状态:D 不可中断的睡眠 R 运行或就绪 S 可中断的睡眠 T 停止 z 僵死的进程
< 高优先级的进程 N 低优先级的进程 + 前台进程组中的进程 l 多线性进程
s 会话进程的首进程
pgrep命令:搜索进程且只显示进程号
pidof命令:指定进程名查id号
top命令:显示当前服务器的各种状态
-d 指定刷新时长 (秒)
-b 翻屏显示
-n # 只显示几屏
top - 21:48:11 up 8:57, 4 users, load average: 0.03, 0.02, 0.00
Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1881040k total, 1007900k used, 873140k free, 125956k buffers
Swap: 4095996k total, 0k used, 4095996k free, 438080k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 19356 1524 1216 S 0.0 0.1 0:01.80 init
注:buffers和cached显示的都是物理内存
交互命令:
M 根据驻留内存大小进行排序
P 根据cpu使用百分比进行排序
T 根据累计时间排序
l 是否显示平均负载和启动时间
t 是否显示进程和cpu状态的相关信息
1 显示cpu所有核心的相关信息
m 是否显示是内存的相关信息
c 是否显示完整的命令行信息
q 退出 k 终止某个进程
进程间的通信: 共享内存 信号 stmaphore
进程之间发送信号控制进程:
kill -l 显示所有可用信号
1 SIGHUP 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效
2 SIGINT ctrl + c 中断一个进程
9 SIGKILL 杀死一个进程
15 SIGTERM 终止一个进程
指定pid发送信号:
信号号码:kill -15 pid
信号名称:kill -SIGKILL pid
信号名称简写:kill -KILL pid
kill pid :默认为15号信号
killall 进程名:杀死相同进程名
调整nice值:
renice # pid 调整已经启动的进程的nice值
renice -n # command:在启动是指定nice值
前台:占据了命令提示符
后台:启动之后,释放命令提示符后续的操作在后台完成
command & : 在命令执行时&符让命令直接切换到在后台运行
前台-->后台 的切换:ctrl+z 让正在运行的命令转换到后台运行
后台-->前台 的切换:fg # 切换后台任务到前台执行
bg命令让暂停在后台的任务继续执行,若有多个后台任务,则bg #(命令号,可用jobs查看当前的
后台任务,+为bg命令默认将继续操作的任务 -为bg默认第二个执行的任务)
kill %# 结束#任务
vmstat命令:系统状态查看命令
vmstat 1 每隔1秒刷新一次
vmstat 1 5 每隔1秒刷新一次,共刷新5次
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 868724 130380 438112 0 0 7 5 59 231 1 0 98 1 0
procs:r队列长度 b阻塞长度
memory:swpd交换大小 free空闲 buff缓冲 cache缓存
swap:si内存-->交换空间 so交换空间-->内存
io:bi磁盘-->内存 bo内存-->磁盘
system:in中断个数 cs进程上下文切换次数
cpu:us用户空间 sy内存空间 id空闲 wa等待 st被偷走的空间
uptime命令:显示的信息和top的第一行一样
注:
/proc/meminfo 内存信息
/proc/cpuinfo cpu信息
/proc/进程号/maps 该进程在内存中读取的信息
本文出自 “笨鸟先辉” 博客,请务必保留此出处http://benniaoxianhui.blog.51cto.com/10463960/1679219
标签:linux
原文地址:http://benniaoxianhui.blog.51cto.com/10463960/1679219