从鸟哥的私房菜书里摘抄的部分,方便查阅
一、作业管理
1、直接将命令放到后台执行的&
如想将/etc 备份为/tmp/ect.tar.gz时不想等待,可以这样做:
tar -zpcf /tmp/etc.tar.gz /etc &
[1] 24874 <==[job number] PID
在命令的最后面加个& 表示将该命令放到后台,此时bash会给这个命令一个作业号 job number就是[1] 24874是PID;如果之后会突然出现[1] Done 表示这个作业完成了;
将作业放到后台要注意数据的流向,如出现stdout stderr的情况时会输出到屏幕上导致看不到,可以改成:
tar -zpcf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 & 这样信息就会保存到log.txt里
2、将当前作业放到后台暂停[ctrl] -z
例如:如果我在使用vi发现有个文件不知道放在哪里,需要到bash环境搜索,不要结束vi
vi ~/.bashrc #在vi模式下,按下[ctrl]-z组合键
出现[1]+ Stopped /usr/bin/vim ~/.bashrc
+表示当前在后台下默认的作业
3、观察当前后台作业状态:jobs
jobs [-lrs]
-l 除了列出作业号之外,同时列出PID
-r 仅列出正在后台运行的作业
-s 仅列出正在后台暂停的作业
4、将后台作业拿到前台处理:fg
二、进程管理
1、进程的观察
1)ps
ps -l :将当前属于自己登陆的PID与相关信息展示,参数说明见下图:
ps aux :列出当前所有正在内存中的进程
ps -lA : 显示出所有的进程
ps -axjf 列出类似进程树的进程显示
结果参数说明:
F:进程的标志flag
S :进程的状态stat;-R正在运行/可运行;-S:睡眠中idle状态但可被某些信号唤醒;-T正在检测或停止;-Z:终止僵尸
C :CPU使用的资源百分比
ADDR:核心功能,指出进程在内存的哪一部分,-表示允许的进程
SZ:用掉的内存大小
WCHAN:当前进程是否正在运行,-表示正在运行
TTY:登录者的终端位置
TIME:用掉的CPU时间
CMD:所执行的命令
2)top [-d] [-bnp]
每2s更新一次:top -d 2
只观察一个进程 top -d 2 -p10660
结果参数说明:
PR:priority的简写,进程的优先执行顺序,越小越早执行
NI:nice的简写,,与priority有关,也是越小越早执行
TIME+:CPU的使用时间累加
2)进程删除
kill PID
如下例子是:找出syslog服务的PID
删除某个服务:使用killall [-iIe] [command name]
2、系统资源的观察
1)free 显示当前系统的内存容量
2)uname : 输出系统的基本信息[-asrmpi]
3) uptime:显示当前系统已开机时间,以及1 5 15分钟的平均负载
4)netstat :
-a :当前系统上所有的联机、监听、套接字数据都列出来
-t tcp网络包的数据
-u udp 网络包数据
-n 以端口号显示
-l 当前正在网络监听的服务
-p 列出该网络服务的进程PID
netstat -tulnp :找出当前系统上已在监听的网络联机及其PID
5)dmesg : cpu 的形式 硬盘 光盘型号
3、进程的执行顺序
Linux系统中每个进程都会拥有一个Priority,该属性让CPU判断哪个作业比较重要;
nice -n -5 vi & :给一个nice值为-5用于执行vi
renice 10 18852 :给已存在的18852的进程10的nice值
来源:oschina
链接:https://my.oschina.net/u/4356324/blog/4199485