您的位置:首页 > 运维架构 > Linux

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

2017-02-13 15:49 736 查看
####################################################
#######################第七单元######################
####################################################
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 ###开机启动图形
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 进程