1. 在LINUX中,每个**执行的程序**都称为一个进程。每一个进程都分配一个ID号(pid,进程号)。
进程和程序的关系:每个运行到内存的程序都变成了一个进程
2. 每个进程都可能以两种方式存在的。**前台与后台**,所谓前台进程就是用户目前的屏幕上可以进行操作 的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。 3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。2. 显示系统执行的进程 1. 基本介绍:
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数2. ps详解
ps-a:显示当前终端的所有进程信息 ps-u:以用户的格式显示进程信息 ps-x:显示后台进程运行的参数
[root@localhost100 ~]# ps -aux [root@localhost100 ~]# ps -aux | more
ps -aux |grep xxx:查看指定程序的进程
比如我看看有没有sshd服务指令说明
[root@localhost100 ~]# ps -aux |grep sshd root 1183 0.0 0.2 112900 4312 ? Ss 16:20 0:00 /usr/sbin/sshd -D root 2775 0.0 0.2 156776 5524 ? Ss 16:21 0:00 sshd: root@pts/0 root 3387 0.0 0.0 112828 976 pts/0 S+ 16:48 0:00 grep --color=auto sshd [root@localhost100 ~]#3. ps显示的信息选项
System V展示风格 USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内存的百分比 VSZ:进程占用的虚拟内存大小(单位:KB) RSS:进程占用的物理内存大小(单位:KB) TTY:终端名称,缩写. STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级, R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等 STARTED:进程的启动时间 TIME:CPU时间,即进程使用CPU的总时间 COMMAND:启动进程所用的命令和参数,如果过长会被截断显示3. 父子进程
父进程:指已创建一个或多个子进程的进程
子进程:子进程为由另外一个进程(对应称之为父进程)所创建的进程
父子进程的关系: 一个进程可能下属多个子进程,但最多只能有1个父进程,而若某一进程没有父进程,则可知该进程很可能由内核直接生成。
ps-ef 是以全格式显示当前所有的进程 -e显示所有进程。-f全格式 命令:ps -ef grep xxx
[root@localhost100 ~]# ps -ef |grep sshd root 1183 1 0 16:20 ? 00:00:00 /usr/sbin/sshd -D root 2775 1183 0 16:21 ? 00:00:00 sshd: root@pts/0 root 3709 2779 0 17:03 pts/0 00:00:00 grep --color=auto sshd [root@localhost100 ~]#
[root@localhost100 ~]# ps -ef |more
UID:用户ID PID:进程ID PPID:父进程ID C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 STIME:进程启动的时间 TTY:完整的终端名称 TIME:CPU时间 CMD:启动进程所用的命令和参数4. 终止进程kill和killall
1. 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kil命令来完成此项任务。 2. 基本语法 kill「选项] 进程号(功能描述:通过进程号杀死进程) killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用) 常用选项 -9:表示强迫进程立即停止 案例1:踢掉某个非法登录用户 查看marry用户登录的进程号
[root@localhost100 ~]# ps -aux | grep sshd root 1183 0.0 0.2 112900 4348 ? Ss 16:20 0:00 /usr/sbin/sshd -D root 4798 0.1 0.2 156776 5528 ? Ss 17:48 0:00 sshd: root@pts/2 root 4901 0.7 0.2 156776 5464 ? Ss 17:50 0:00 sshd: marry [priv] marry 4905 0.0 0.1 156776 2420 ? S 17:50 0:00 sshd: marry@pts/3 root 4997 0.0 0.0 112828 976 pts/4 S+ 17:51 0:00 grep --color=auto sshd [root@localhost100 ~]# kill 4901
进程终止后用户也就退出了
案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务案例
[root@localhost100 ~]# ps -aux | grep sshd root 1183 0.0 0.2 112900 4348 ? Ss 16:20 0:00 /usr/sbin/sshd -D root 4798 0.0 0.2 156776 5528 ? Ss 17:48 0:00 sshd: root@pts/2 root 5346 0.0 0.0 112828 976 pts/4 S+ 18:05 0:00 grep --color=auto sshd [root@localhost100 ~]# kill 1183
重启服务:/bin/systemctl start.service
3:终止多个gedit
[root@localhost100 ~]# killall gedit
案例4:强制杀掉一个终端
基本语法 pstree [选项],可以更加直观的来看进程信息 常用选项 p:显示进程的PID -u :显示进程的所属用户
应用实例:
案例
1:请你树状的形式显示进程的pid案例
[root@localhost100 ~]# pstree -p
2:请你树状的形式进程的用户id
[root@localhost100 ~]# pstree -p
2:请你树状的形式进程的用户id
[root@localhost100 ~]# pstree -up



