本文主要命令pstree、ps、top、nice、free、screen
1. 程序&&进程
程序是静态的,进程是动态的,即运行中的程序。
一个程序至少有一个进程,一个进程至少有一个线程,即主线程。进程之间内存独立,线程之间内存共享,共享所属进程的内存。
2. pstree
查看进程树
显示进程树及其进程号
pstree -p | more
3. tree
安装tree
yum install tree -y
显示/boot目录的树形结构
tree /boot
4. ps
列出所有进程,包含未在运行的进程:
ps -aux
数据项:
USER:运行此进程的用户名
PID :该 process 的号码。
%CPU:该 process 使用掉的 CPU 资源百分比;
%MEM:该 process 所占用的物理内存百分比;
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?如init进程属于内核,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,Linux进程有5种基本状态:
R :(正在运行或在运行队列中等待) ;
S :该程序目前正在睡眠当中 ,但可被某些讯号 (signal) 唤醒。
T :该程序目前暂停了
Z : 僵尸进程
5. top
动态查看进程
此命令包含大量的信息,可以使用man查询具体的信息。
6. kill
杀死只有一个进程的服务:
kill -15 PID
杀死包含多个进程的服务:
killall name #name是进程名字, 或者pkill name
7. nice
优先级控制
进程默认的优先级是0, 进程优先级范围-20~19, 数值越小优先级越高,普通用户的优先级为0-19。
设置某个进程的优先级:
nice -n -5 vim a.txt
修改某个运行中的进程的优先级:
renice -n 5 PID
8. jobs
前后台进程
后台运行某个进程
vim a.txt &
查询所有正在后台运行的进程
jobs
将某个后台进程拉到前台执行
fg jobID #jobID即jobs命令查出的后台任务
9.screen
使用&后台运行的命令,在终端关闭之后即退出,因此可以采用screen改进,screen可以在再次打开中断后,唤醒后台进程,继续运行。
screen
vim a.txt
按"ctrl +a +d"
再次打开终端:
查看后台进程
screen -ls
恢复后台进程
screen -r ID
10. nohup
screen虽然可以在再次打开终端后重新运行后台进程,但是在唤醒之前后台进程不能运行,因此可以考虑nohup,即用户关闭终端之后不影响后台进程的运行。