linux 查看 sh 进程,linux学习笔记——进程的查看和管理、systemctl命令

####################################################

#######################第七单元######################

####################################################

1.什么是进程、线程

进程是一个具有独立功能的程序关于某个数据集合的一次运动活动,进程也就是系统正在做的事情

线程是进程作为分配资源的基本单位。

2.进程状态

运行

休眠

停止

继续

结束

僵尸进程(已经结束了的进程,但依然占据进程列表,如果太多会导致系统崩溃。一般需要父进程来“收尸”)

3.图形中如何查看进程

gnome-system-monitor

4.如何用命令查看进程

ps        ##进程查看工具

-a    ##列出所有进程

-x    ##与shell无关运行的进程(与shell无关的进程)

-u    ##查看进程用户

-l    ##显示进程的详细信息

-f    ##完全信息full的缩写(从属关系)

-o    ##控制输出,指定信息

-e    ##显示系统中的所有进程和a相同(附加的拓展信息)

-aux    ##显示所有包含其他使用者的行程

ps    -aux | grep           ##进程关键字(进行过滤)

ps    -aux | less           ##ps命令结果较长,可结合less命令

ps aux --sort +或-%cpu或%mem...    ##进程按指定方式排序,--sort排序,+降序,-升序

ps ax    -o %cpu           ##指定只看%cpu的信息(或%mem或uid或pid或comm或group或stat)

pstree命令      ##树型结构显示

相关数据意义解释:

F代表这个程序的旗标flag,4达标使用者为super user

S代表这个程序的状态stat

UID:该程序被此UID所拥有。

PID:这个程序的ID

PPID:父进程的ID

C:cpu使用的资源百分比。

PRI或(PR):内核调度优先级,越小优先级越高Priority(优先执行序)的缩写。

NI:NICE值,正值表示低优先级。

ADDR:指出该程序在内存的哪个部分,-表示running

SZ:使用掉的内存大小。

WCHAN:目前的运作状态,-为运作。

TIME占用cpu的时间。

CMD:所下达的命令。

%CPU:使用掉的CPU资源百分比。

%MEM:所占物理内存的百分比。

VSZ:使用掉的虚拟内存量。

RSS:占用的固定的内存量。

TTY:登入者的终端机位置

?表示与终端机无关,tty1-tty6表示是本机上的登录者程序,pts/0表示由网络连接进主机的程序。

STAT:目前的状态,如下

R:该程序目前在运作 。

S:该程序目前在睡眠中(idle状态),可被某些讯号(signal)唤醒。

T:该程序目前正在监测或是停止了。

Z:这个进程应该已经终止,但父进程却无法终止它,成了僵尸进程。

eg:ps ax --sort %cpu  ,comm|head -10|grep -v pid    ## -v 不显示pid

ps ax --sort %cpu ,pid|head -5(pid)

区别top命令:ps命令能够给出当前系统中进程的快照,top命令能够不断更新查看进程状态,ps结合watch命令也可动态观察。

5.如何控制shell中进程的前后台调用

命令后跟 &    ##进程在shell后台运行

ctrl +z        ##把占用shell的进程打入后台停止

jobs        ##查看被打入后台的进程信息

fg job号    ##把指定进程调回前台

bg job号    ##运行后台停止进程

ctrl +c        ##关闭占用shell进程

6.如何用命令控制进程

kill        ##用来终止后台进程

-s:指定发送信号

-p:模拟发送信号

-l:指定信号的名称列表

1)信号(一般kill可以和信号直接使用)

信号 1        ##挂起进程

信号 2        ##删除进程在内存中的信息,中断进程(同ctrl +c )

信号 3        ##内存中的鼠标信息清除ctrl \

信号 9        ##强行关闭进程(小心使用)

信号 15        ##正常关闭进程

信号 18        ##开启停止的进程,继续进程

信号 19        ##停止正在运行的进程,暂停进程

信号 20        ##ctrl +z

2)信号发起

kill     信号     pid

killall    信号    进程名称 ##直接杀死运行中的程序

pkill -u username    ##结束某个用户的所有进程(和killall用法差不多)

pkill 进程名称        ##指定进程名称进行结束

7.用户登陆监控

w命令        ##查看当前使用系统的用户(who)

w    -f    ##查看当前使用系统的用户并显示使用地点

注:头信息包括当前时间,系统运行时间,用户数量,平均负载(过去1、5、15分钟),

USER:表示用户

TTY:登入者的终端机位置

LOGIN:当前用户登录时刻

IDEL:用户登录系统闲置时间

JCPU:用户所采用的终端所有程序执行时,所耗CPU的时间

WHAT:当前用户正在做的事

last        ##查看登陆过系统的用户

lastb        ##查看试图登陆但没有成功的用户

8.top命令

u username ##现实此用户的所有进程

k 信号      ##kill

h          ##help

s          ##调整top命令刷新频率

m          ##内存排序

c          ##cpu排序

q          ##退出界面

注:头信息包括:

2 running:运行的进程书,此时为2

0 sleeping:休眠的进程数,此时为0

0 stopped:停止的进程数,此时为0

0 zombie:僵尸进程数,此时为0

%Cpu(s)

0.3%us:用户空间所占CPU的百分比

1.0% sy:内核空间所占CPU百分比

0.0% ni:用户空间内改变过优先级的进程所占CPU百分比

98.7% id:空闲CPU百分比

0.0% wa:等待输入输出时间百分比

Mem:191272k total总共物理内存,used:已经使用的物理内存,free:未使用的

buffers:用作内核缓存的内存量

###################################################

####################第八单元#######################

1.什么是服务?

service

服务就是在系统中运行的软件,这个软件主要是对外提供某项功能,把这一类软件叫做服务

2.服务管理systemctl命令(用于取代systemv\service\chkconfig命令)

systemctl是一个systemd工具,主要负责控制systemd系统和服务的管理。

systemctl    start    服务名称sshd ###开启服务

stop    。。。。    ###关闭服务

restart    。。。。    ###重启服务

reload    。。。。    ###重新加在服务配置

status    。。。。    ###查看 服务状态

enable    。。。。    ###设定服务开机启动

disable    。。。。    ###禁止服务开机启动

list-dependencies(注意利用tab)    ###查看服务依赖关系

list-units            ###查看当前运行的所有服务

list-unit-files            ###查看服务的开机启动情况

set-default multi-user.target    ###开机不启动图形   startx 可以接着开启图形

set-default graphical.target    ###开机启动图形