Linux学习之旅4——数据流与进程(下)
一.监视系统活动和查看进程
-
w 命令:显示系统信息
- 第一个为时间(20点19分27秒)
- up:运行正常时间(47分钟,重启或关机归0,可用uptime命令查询)
- load average(平均负载,1分钟内,5分钟内,10分钟内进程个数,可用tload命令绘制负载图)
- USER:用户名(登录名)
- TTY:登陆终端的名称(tty1~tty7)
- FROM:用户连接到的服务器IP地址
- LOGIN@:用户已登陆的时长
- IDLE:用户不活跃时间
- JCPU:该终端所有相关进程使用CPU的时间
- PCPU:当前进程使用的CPU时间
- WHAT:当下用户正在运行的程序
-
最近登录信息命令
- lastlog:列出所有用户最近一次登录信息(读取 /var/log/lastlog 文件信息)
- last:列出当前和过去登录系统的用户信息(读取 /var/log/wtmp 文件信息)
- lastb:列出登录失败的信息(读取 /var/log/btmp 文件信息)
-
ps 和 top 命令:列出运行的进程
-
ps:进程的静态列表
-
PID:进程号
-
TTY:进程运行所在的终端
-
TIME:进程运行了多久
-
CMD:程序名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22列出所有进程(所有用户) -ef
ps -ef
配合管道使用(Crtl+Z退出)
ps -ef | less
以乔木状列出所有的进程 -efH
ps -efH
列出用户(ming)运行的进程 -u
ps -u ming
通过CPU过滤进程(使用率降序) -aux
ps -aux --sort -pcpu | less
通过内存过滤进程(使用率降序) -aux
ps -aux --sort -pmem | less
结合CPU与内存显示前十个结果
ps -aux --sort -pcpu,pmem | head
以树形结构显示进程
pstree
-
-
-
查看资源占用情况
1
2
3df -h # 查看磁盘剩余空间
du -bs /usr # 查看/usr目录大小
find. -size +100M # 查找当前文件夹占用超过100M的文件
二.进程操作和系统重启
-
top 命令:进程的动态列表
- top命令无法显示全部进程内容,默认按照CPU占用率降序排序
- q退出,h帮助文档,B加粗某些信息
- f 在进程列表中添加或删除某些列
- F改变进程列表排序所参照的列
- u依照用户来过滤显示
- k(kill)结束某个进程,输入PID即可
- s 改变页面刷新时间(默认3秒)
- 进入后按E键切换数据单位
-
glances/htop:优秀的进程管理软件
-
Ctrl+C 与 kill 命令:停止进程
1
2
3
4
5
6
7
8结束PID为12345的进程
kill 12345
强制结束PID为12345的进程
kill -9 12345
结束多个进程,接程序名
killall gsd -
halt 命令和 reboot 命令:停止和重启系统
1
2
3需要root身份关闭系统
sudo halt
sudo reboot -
关机命令
1
2
3
4
5
6
7
8
9
10shutdown
定时5分钟关机
shutdown -h +5
希望23:00关机
shutdown -h 23:00
直接关机
poweroff
三.前后台进程切换
-
默认情况下,用户创建的进程都是前台进程
-
& 符号:在后台运行进程
- [1]:终端后台进程标号,第一个后台进程因此标1
- 1963:进程号(PID),若要结束可用kill命令
- 缺点:终端关闭或用户注销,进程自动结束
-
nohup 命令:使进程与终端分离 (no hangup)
1
nohup cp file.txt file_copy.txt &
-
Ctrl+Z:转到后台,并暂停运行
-
bg 命令:转入后台运行 (background)
1
2
3若命令已在后台,根据后台进程标号(假设是1)可恢复运行
bg %1
bg 1 -
ps命令标识进程的5种状态码
状态码 描述 D 不可中断 R(runnable) 运行 S(sleeping) 中断 T(traced or stopped) 停止 Z(zombie) 僵死 -
jobs 命令:显示后台进程状态
1
2
31.显示后台进程标号,如[1],与PID不一样
2.显示后台进程状态,Stopped:停止,Running:运行
3.命令名 -
fg 命令:进程转到前台 (foreground)
1
2假设要把后台进程号为1的进程调到前台
fg %1
四.多个终端Terminator软件
-
Terminator
1
2sudo apt-get install terminator
若提示unable to locate package,去Software & Updates里切换仓库源运行后,右键->Preferences可设置字体和字体大小
右键->Split Horizontally 进行分屏
-
常用快捷键
Terminator快捷键 描述 Ctrl+Shift+O 横向分割 Ctrl+Shift+E 纵向分割 Alt+上下左右键 终端切换 Ctrl+Shift+W 关闭终端 Ctrl+Shift+I 开启新的Tab
五.定时与延时执行
-
date 命令
1
2
3
4
5输出时 分 秒,年份
date "+%H:%M:%S,%Y"
修改时间到11月11号12点30分
date 11111230 -
at 命令:延时执行一个程序
1
2
3
4
5
6
7
8
9
10
11
12
13安装at命令
sudo apt install at
在今天定时执行(后接具体时间)
at 11:11
at 20:05 12/10/19
上一行表示2019年12月10日20:05
在明天定时执行
at 23:25 tomorrow
指定间隔后执行
at now +10 minutes(hours/days/weeks/months/years) -
atq 与 atrm 命令:列出和删除正在等待执行的at任务
1
2
3
4
5显示等待执行的at任务的编号,具体内容
atq
删除at任务,后接编号
atrm 1 -
sleep 命令:等待一会
1
2touch file.txt ; sleep 20 ; rm file.txt
用分隔符分隔命令,sleep默认为秒数,可加参数(m/h/d),如sleep 2m -
“&&“与”||“符号与”;”
- &&表示前面命令执行成功,才会执行后面命令
- ||表示前面命令执行失败,才会执行后面命令
- ; 表示无论前面命令执行是否成功,都会执行后面命令
-
crontab 命令:定时执行程序多次
1
2
3
4
5
6
7Ubuntu下启动、停止、重启crontab
service cron start
service cron stop
service cron restart
配置nano为默认文本编辑器
echo "export EDITOR=nano" >> ~/.bashrc参数介绍
1
2
3
4
5
6
7
8
9
10
11修改(创建)crontab文件
crontab -e
显示crontab文件
crontab -l
删除crontab文件
crontab -r
crontab文件输入格式
m h dom mon dow command- 以图片解释crontab输入格式:
-
组合举例
下篇文章推荐:Linux学习之旅5——网络和数据传输
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 515code-实验室!
评论