Linux云服务器初学之五 ——进程管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37163479/article/details/79505817

1.PS命令

PS命令可以查看当前运行的进程信息。
Linux上有5种状态:
1.运行(正在运行或在运行队列中等待)
2.中断(休眠中,受阻,在等待某个条件的形成或接受到信号)
3.不可中断(收到信号不唤醒和不可运行,进行必须等待直到有中断发生)
4.僵死(进行已终止,但进程描述符存在,直到父进程调用wait()系统调用后释放)
5.停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行)

命令格式:

ps [选项]

这里写图片描述

示例:

ps –列出每一个与当前shell有关的进程的基本信息
PID TTY TIME CMD
25005 pts/0 00:00:00 bash

其中各个字段的含义如下:
PID 进程的标志号
TTY 该经常建立时所对应的终端,如果是?则表示不占用终端
TIME 显示进程累计使用的CPU时间
CMD 执行进程的命令
UID 进程属主的用户ID
PPID 父进程的ID号
C 进程最近使用的CPU估算
STIME 进程开始时间,以“小时:分”的形式显示

ps -ef –显示系统中所有进程的全面信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 125876 4396 ? Ss 9月25 0:04 /usr/lib/syst

ps aux –显示所有终端上所有用户的有关进程的所有信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 125876 4396 ? Ss 9月25 0:04 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 9月25 0:00 [kthreadd]
root

USER: 行程拥有者
PID: pid
%CPU: 占用 CPU 时间与总时间的百分比
%MEM: 占用内存与系统内存总量的百分比
VSZ: 进程占用的虚拟内存空间
RSS: 进程所占用的内存的空间
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 进程当前状态:
D: 不可中断的静止
R: 进程正在执行中(进程排在执行队列里,随时都会被执行)
S: 进程处于睡眠状态(sleeping)
T: 追踪或停止
Z: 僵尸进程(zombie),进程已经被终止,但其父进程并不知道,没有妥善处理
W: 进程没有固定的分页可匹配
<: 高优先序的进程
N: 低优先序的进程
L: 有些页被锁进内存
s: 进程的领导者(在它之下有子进程)
l: 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+: 位于后台的进程组
WCHAN 正在等待的进程资源;
START: 进程开始执行的时间
TIME: 执行的时间
COMMAND:所执行的指令

2.kill命令

终止一个进程

命令格式:

kill [选项] 进程PID –进程PID可使用ps或者pidof命令查询到

ps –ef | grep httpd
pidof httpd
lsof –i:80

kill命令的常用选项:

-l 列出所有kill命令的选项
-1 终端断线
-2 中断(同ctrl+c)
-3 退出(同ctrl+\)
-15 终止
-9 强制终止(常用)
-18 继续进程
-19 暂停进程

示例:

如果我们运行了一个后台程序,但是我们突然之间又不想它运行了,或者说它占用了我们想要使用的其他应用的端口,那我们就可以使用kill命令将它的进程杀死

systemctl restart sshd.service –启动ssh服务

ps -ef |grep sshd
root 31893 1 0 14:47 ? 00:00:00 /usr/sbin/sshd
root 31953 29492 0 15:02 pts/1 00:00:00 grep sshd

lsof -i:22 –查看ssh服务端口
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 31893 root 3u IPv4 439877 0t0 TCP *:ssh (LISTEN)
sshd 31893 root 4u IPv6 439879 0t0 TCP *:ssh (LISTEN)

pidof sshd –查看ssh服务的pid
31893

kill 31893 –(默认使用的是-15)

3.job管理

linux 下有前台和后台的概念,每个bash终端都可以运行自己的job,注意不能跨bash终端管理
& –后台运行符,运用程序不会占用你的终端

firefox http://192.168.1.32 &
[1] 31062 –1代表job号,31062代表的是pid
vim /etc/passwd –在这里按下ctrl+z键,作用是把job暂停到后台
[2]+ Stopped vim /etc/passwd

jobs –列出后台job列表,别的终端的看不到

jobs -l –还要列出pid号

fg %1 –把1号job的firefox调到前台

kill %1

猜你喜欢

转载自blog.csdn.net/qq_37163479/article/details/79505817