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/systps 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 sshdlsof -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
31893kill 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/passwdjobs –列出后台job列表,别的终端的看不到
jobs -l –还要列出pid号
fg %1 –把1号job的firefox调到前台
kill %1