-
后台命令脱离登录终端执行的方法。
第一种方法是把需要后台执行的命令加入/etc/rc.local文件
第二种方法是使用系统定时任务,让系统在指定的时间执行某个后台命令。
第三种方法是使用 nohup 命令。
查看全部 -
3、将后台暂停的工作恢复到前台执行
fg %工作号
参数:
-%工作号:%号可以省略,但是注意工作号和PID的区别
查看全部 -
2、 jobs 查看后台的工作
jobs [-l]
选项: -l:显示工作的 PID
注:“+”号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作。“-”号代表倒数第二个放入后台的工作
查看全部 -
1、把进程放入后台
&符号: 如: tar -zcf etc.tar.gz /etc & #把命令放入后台,并在后台执行。。
top #按下ctrl+z快捷键,放在后台暂停。
查看全部 -
vmstat命令监控系统资源
vmstat [刷新延时 刷新次数]
举例:
vmstat 1 3
解释:
procs 进程信息字段
r 等待运行的进程数,数量越大,系统越繁忙
b 不可被唤醒的进程数量,数量越大,系统越繁忙
memory 内存信息字段
swap 虚拟内存的使用情况,单位KB
free 空闲的内存容量,单位KB
buff 缓冲的内存容量,单位KB
cache 缓存的内存容量,单位KB
swap 交换分区的信息字段
si 从磁盘中交换到内存中数据的数量,单位KB
so 从内存中交换到磁盘中数据的数量,单位KB。此两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差
io 磁盘读写信息字段
bi 从块设备读入数据的总量,单位是块
bo 写到块设备的数据的总量,单位是块。此两个数越大,代表系统的I/O越繁忙
system 系统信息字段
in 每秒被中断的进程次数
cs 每秒钟进行的事件切换次数。此两个数越大,代表系统与接口设备的通信非常繁忙
CPU CPU信息字段
us 非内核进程消耗CPU运算时间的百分比
sy 内核进程消耗CPU运算时间的百分比
id 空闲CPU的百分比
wa 等待I/O所消耗的CPU百分比
st 被虚拟机所盗用的CPU占比
缓存和缓冲的区别
简单来说缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的
dmesg开机时内核检测信息
demesg
dmesg | grep CPU
free命令查看内存使用状态
free [-b|-k|-m|-g]
选项:-b #以字节为单位显示
-k #以KB为单位显示,默认就是以KB为单位显示
-m #以MB为单位显示
-g #以GB为单位显示
解释:
第一行:total是总内存数,used是已经使用的内存数,free是空闲的内存数,shared是多个进程共享的内存总数,buffers是缓冲内存数,cached是缓存内存数,默认单位是KB
第二行:- buffers/cache的内存数,相当于第一行的used-buffers-cached。+ buffers/cache的内存数,相当于第一行的free+buffers+cached。
第三行:total是swap的总数;used是已经使用的swap数,free是空闲的swap数。默认单位是KB
查看cpu信息
cat /proc/cpuinfo #proc内存
uptime与w命令
uptime
#显示系统的系统时间,平均负载,当前登录用户数 ,即top命令的第一行。w命令也可以看到这个数据
查看系统与内核相关信息
uname [选项]
选项: -a #查看系统所有相关信息
-r #查看内核版本
-s #查看内核名称
小技巧:如何判断系统是32位还是64位 file /bin/ls
查询当前Linux系统发行版信息
lsb_release -a
列出进程打开或使用的文件信息
lsof [选项]
选项:
-c 字符串 #只列出以字符串开头的进程打开文件
-u 用户名 #只列出某个用户的进程打开的文件
-p pid #列出某个pid进程打开的文件
示例:
lsof | more #查询系统中所有进程调用的文件-分屏显示
lsof /sbin/init #查询/sbin/init文件被哪个进程调用(只能查系统文件,其他自己建立的文件查没有意义)
lsof -c httpd #查看httpd进程调用了哪个文件
lsof -u root #按照用户名,查询某用户的进程所调用的文件名
查看全部 -
后台命令脱离登录终端执行的方法:
第一种方法 :把需要后台执行的命令加入 /etc/rc.local文件
第二种方法:使用系统定时任务,让系统在指定的时间执行某个后台命令
第三种方法:使用 nohup命令(常用)
nohup命令
nohup 命令 &
举例:
vi for.sh
#!/bin/bash
for((i=0;i<=1000;i=i+1))
do
echo 11 >> /rootfor.log
sleep 1`0s
done
nohup /root/for.sh &
jobs
ps aux
补充:
绝大多数的后台程序,除了mysql服务,当关闭终端时,正在运行的后台程序会关闭,原因是当你关闭终端的时候,系统默认发出SIGHUP信号,终止现在运行程序。
查看全部 -
把进程放入后台有两种方法
①tar -zcf etc.tar.gz /etc & #把命令放在后台执行
②top #ctrl+z 放在后台暂停
查看后台的工作
jobs -l #显示工作的PID
+代表最后一个放入的进程 ,用作工作恢复时的默认值
-代表倒二个放入的进程
将后台暂停的工作恢复到前台执行
fg %工作号 #把后台暂停的工作回复到前台执行
bg %工作号 #把后台暂停的工作回复到后台执行
注1:
%工作号 %可以省略,但要注意工作号和PID的区别
注2:
后台恢复执行的命令bg %工作号,是不能和前台有交互的,否则不能恢复到后台执行
top、vi之类放在后台也是暂停的 因为一个需要用户来查看进程健康状态,一个需要用户写入 压缩、解压缩、cp、mv、find之类可以放在后台
查看全部 -
工作管理简介
工作管理指的是在单个登录终端中(也就是登录的shell界面)同时管理多个工作的行为
Windows通过最小化放入后台工作
注意事项:
1、当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端的工作
2、放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作这个工作
3、放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行
jobs #查看在后台运行的程序
Linux后台运行:命令后面加上“ &”
查看全部 -
进程优先级简介
Linux操作系统是一个多用户、多任务的操作系统,Linux系统中运行着非常多的进程。但是CPU在同一个时钟周期内只能运算一个指令,进程优先级决定了每个进程处理的先后顺序
命令 ps -le
PRI代表Priority,NI代表Nice。这两个值都是优先级,数字越小代表越先处理。
NI的取值范围是-20到19
普通用户只能调整NI值得范围是0到19,而且只能调整自己的进程
只有root才能设定进程NI值为负值,而且可以调整任何用户的进程
PRI(最终值)=PRI(原始值)+NI
用户只能修改NI的值,不能直接修改PRI
nice命令
nice [选项] 命令 #可以给新执行的命令直接赋予NI值,但不能修改已经存在的进程的NI值
选项:-n NI值 #给命令赋予NI值
例如:
service httpd start
ps -le | grep httpd
service httpd stop
nice -n -5 service httpd start
ps -le | grep httpd
renice [优先级] PID #修renice命令是修改已经存在进程的NI值的命令
例如:
renice -10 1567
查看全部 -
top 查看cpu信息
查看全部 -
top 查看系统监控状态
top 【选项】
-d 秒数:指定top命令每隔几秒更新。默认3秒
-b:使用批处理模式输出。一般和"-n"选项合用
-n次数:指定top命令执行的次数。一般和“-b”选项合用
在top命令的交互模式当中可以执行的命令
?或h:显示交互模式的帮助
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
q:退出top
查看全部 -
ps命令的输出
USER:该进程是由那个用户产生的;
PID:进程的ID号
%CPU:该进程占用cpu资源的百分比,占用越高,进程越耗费资源
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ:该进程占用虚拟内存的大小,单位KB
RSS:该进程占用实际内存的大小,单位KB;
TTY:该进程是在那个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端
STAT:进程状态。常见的状态有:
R:运行
S:睡眠
T:停止状态
s:包含子进程
+:位于后台
START:该进程的启动时间
TIME:该进程占用cpu的运算时间,主要不是系统时间
COMMAND:产生此进程的命令名
查看全部 -
kill命令
kill -l #查看可用的单一进程信号
信号代号 信号名称 说明
1 SIGHUP 该信号让进程立即关闭,然后重新读取配置文件之后重启(平滑重启)
2 SIGINT 程序终止信号,用于终止前台进程。相当于输出CTRL+C快捷键
9 SIGKILL 用来立即结束程序的运行,本信号不能被阻塞、处理和忽略。一般用于强制终止进程
15 SIGTERM 正常结束进程的信号,kill命令的默认信号。
平滑重启服务: 正常修改完配置文件后,需要重启服务,但是用普通的restart来重启会提出正在使用的用户,造成不好的用户体验。而平滑重启是重启服务配置,保留正在使用的用户。
命令: kill -HUP(或-1) 进程号
kill -HUO(或-1) 1559 #平滑重启单一进程
kill -9 2342 重启进程
kill -1 2342 强制杀死进程
ps aux | grep httpd 只看httpd的所有进程
pkill命令
pkill [选项] [信号] 进程名 #按照进程名终止进程
选项:-t 终端号 #按照终端号提出用户
举例:w #tty1代表本地登录 pts/0代表第一个远程登录用户 pts/1代表第一个远程登录用户
killall命令
killall [选项][信号]进程名 #按照进程名杀死进程
选项:-i #交互式,询问是否要杀死某个进程
-I #忽略进程名大小写
举例:
killall -9 httpd #直接杀死结束httpd
killall -i -9 httpd #会问你是否结束某个httpd进程
pkill命令
pkill [选项] [信号] 进程名 #按照进程名终止进程
选项:-t 终端号 #按照终端号提出用户
举例:
pkill -9 -t pts/1 #踢pts/1用户 只有超级用户才可以踢 -9与-t不能写反
w命令
w #使用w命令查询本机已经登录的用户
补充:
杀死命令时最终手段,除非特殊需要,否则不建议杀死进程
查看全部 -
查看系统健康状态
top [选项]
选项: -d 秒数 #指定top命令每隔几秒更新。默认是3秒
-b #使用批处理模式输出。一般和"-n"选项合用
-n 次数 #指定top命令执行的次数。一般和"-b"选项合用
在top命令的交互模式当中可以执行的命令:
?或h #显示交互模式的帮助
P #以CPU使用率排序,默认就是此项
M #以内存的使用率排序
N #以PID排序
q #退出top
执行top命令解释内容:
第一行信息为任务队列信息
load average: 0.00,0.00,0.00 #平均负载 系统在之前1分钟,5分钟,15分钟的平均负载
第二行为进程信息
Task: 95 total #系统中的进程总数
1 running #正在运行的进程数
94 sleeping #睡眠的进程
0 stopped #正在停止的进程
0 zombie #僵尸进程,如果不是0,需要手工检查僵尸进程
第三行为CPU信息
0.0%ni #改变过优先级的用户进程占用的CPU百分比
99.7%id #空闲的CPU百分比
0.1%wa #等待输入/输出的进程的占用CPU百分比
0.0%hi #硬中断请求服务占用的CPU百分比
0.1%si #软中断请求服务占用的CPU百分比
0.0%st #st(Steal Time)虚拟时间百分比。就是当有 ,虚拟CPU等待时机CPU的时间百分比
第四行为物理内存信息
65800k buffers #作为缓冲的内存数量
第五行为交换分区(swap)信息
409280k cached #作为缓存的交互分区的大小
缓冲是为了加速写入的,缓存是为了加速读取的
使用top查看所有进程
top -b -n 1 > top.log
查看全部 -
查看所有进程
ps aux #查看系统中所有的进程信息,使用BSD操作系统格式
ps -le #查看系统中所有的进程信息,使用Linux标准命令格式
选项: a #显示一个终端的所有进程,除了会话引线
u #显示进程的归属用户及内存的使用情况
x #显示没有控制终端的进程
-l #长格式显示。显示更加详细的信息
-e #显示所有进程,和-A作用一致
ps aux
USER #该进程是由哪个用户产生的;
PID #进程的ID号;
%CPU #该进程占用CPU资源的百分比,占用约高,进程越耗资源
%MEM #该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ #该进程占用虚拟内存的大小,单位KB
RSS #该进程占用实际物理内存的大小,单位KB;
TTY #该进程在哪个终端中运行的。其中tty-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟远程终端
STAT #进程状态。常见状态有:
R:运行
S:睡眠
T:停止状态
s:包含子进程
+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
pstree #查看进程树
-p:显示进程的PID
-u:显示进程的所属用户
在进程中,/sbin/init 是所有进程的父进程。 1000以内的进程都是系统默认进程。
VSZ :占用virtual 虚拟内存大小 RSS:占用物理内存大小啊
tty1 - tty6表示本地字符终端。 tty7表示本地图形终端
pts/0 - pts/255表示远程终端。 更新到2.6linux内核之后可以达到65536个
查看全部
举报