首页 > 代码库 > linux学习笔记——进程的查看和管理、systemctl命令

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    ###开机启动图形

本文出自 “12148275” 博客,请务必保留此出处http://12158275.blog.51cto.com/12148275/1897335

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