用计算机语言编写的命令序列集合,用来实现特定的目标或解决特定的问题,程序占用磁盘空间,程序是静态并且是永久的
正在运行中的程序叫进程,占用内存空间,进程是动态的,进程是有生命周期的,进程有自己的独立内存空间,每启动一个进程,系统就会为它分配内存空间并分配一个PID号,每个进程都会对应一个父进程,而父进程可以复制多个子进程,每种进程都有两种方式存在,前台与后台,一般进程都是以后台方式运
线程也被称为轻量级进程,被包含在进程中,是进程的一个子集,是进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务,每个线程都是独立的,线程之间共享进程的内存空间,在多线程的程序中,由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中
#查看进程树 [root@localhost ~]# pstree systemd─┬─ModemManager───2*[{ModemManager}] CentOS7版本:天父进程systemd CentOS6版本:天父进程init,Apstart CentOS5版本:天赋进程init #以PID形式显示进程信息 [root@localhost ~]# pstree -p systemd(1)─┬─ModemManager(6714)─┬─{ModemManager}(6739) #查看系统用户的进程信息 [root@localhost ~]# pstree -p lisi sshd(15086)───bash(15089)───vim(15244) [root@localhost ~]# pstree -pa lisi sshd,15086 └─bash,15089 └─vim,15244 1.txt #查看系统所有用户的进程 root@localhost ~]# pstree -up ... ├─smartd(6726) ├─sshd(7337)─┬─sshd(8880)───bash(8887)───pstree(15395) │ └─sshd(15066)───sshd(15086,lisi)───bash(15089)───vim(15244)
#查看系统所有进程信息 [root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 2.2 0.3 127992 6576 ? Ss 09:08 0:01 /usr/lib/systemd/systemd --switched-root #个字段含义如下: user:进程属于那个用户 PID :进程PID号 %CPU:进程占用CPU资源百分比 %MEM:进程占用物理内存百分比 VSZ :进程使用掉的虚拟内存量(单位:Kb) RSS :进程占用固定内存量(单位:Kb) TTY :进程在那个终端运行,如果内核直接调用则显示“?”,tty1-tty6表示本机终端登录的用户进程,pts/0-255则表示远程终端登录用户的进程 STAT:进程状态:R(Running)运行,S(Sleep)休眠,s包含子进程,T(stop)停止,Z(Zombie)僵尸,+后台进程 START:进程启动时间 TIME :占用CPU运算时间 COMMAND:产生进程的命令 #查看系统所有进程信息 [root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 09:08 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --dese #PPID :该进程的父进程ID号
[root@localhost ~]# top top - 21:22:04 up 12:13, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1863224 total, 1502920 free, 107872 used, 252432 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1565576 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8317 root 20 0 161984 2220 1568 R 0.7 0.1 0:01.62 top #第一行top每个字段含义如下: 第二列:21:22:04:当前系统时间 第三列:up 12:13:系统运行时间,该系统以运行12小时13分钟(up 10 day,12:13 代表运行10天12小时13分钟) 第四列:2 users:当前系统登录终端数量 第五列:load average: 0.00, 0.01, 0.05:CPU1分钟,5分钟,15分钟之前平均负载量,根据CPU核数判断系统CPU负载量,1核CPU若高于1代表负载过高,2核CPU若高于2代表负载过高,依次类推。。。 #第二行Tasks每个字段含义如下: 第二列:115 total:当前系统中进程的总数量 第三列:1 running:正在运行的进程数量 第四列:114 sleeping:正在睡眠的进程数量 第五列:0 stopped:正在停止的进程数量 第六列:0 zombie:僵尸进程数量,僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。 #查找僵尸进程与其父进程 ps -A -o stat,ppid,pid,cmd | grep "^Zz" 命令解释: -A 参数列出所有进程 -o 自定义输出字段,我们设定显示字段为 stat(状态), ppid(父进程id), pid(进程id),cmd(命令)这四个参数,因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 #杀死进程 kill -9 + 父进程号 #第三行%Cpu(s)每个字段含义如下 第二列:0.0 us:用户进程占用的CPU百分比 第三列:0.0 sy:系统进程占用的CPU百分比 第四列:0.0 ni:改变过优先级的用户进程占用的CPU百分比 第五列:100.0 id:空闲的CPU百分比(重点关注) 第六列:0.0 wa:等待输入/输出的进程的占用CPU百分比 第七列:0.0 hi:硬中断请求服务占用的CPU百分比 第八列:0.0 si:软中断请求服务占用的CPU百分比 第九列:0.0 st:虚拟时间百分比,当有虚拟机时,虚拟CPU等待实际CPU的时间百分比 #第四行KiB Mem每个字段含义如下: 第二列:1863224 total:物理内存总量,单位KB 第三列:1502516 free: 空闲内存总量,单位KB 第四列:108240 used: 以使用的内存总量,单位KB 第五列:252468 buff/cache:块设备与普通文件占用的缓存数量 #第五行KiB Swap每个字段含义如下: 第二列:2097148 total:交换空间总量,单位KB 第三列:2097148 free:可用空闲交换空间总量,单位KB 第四列:0 used::以使用的交换空间总量,单位KB 第五列:1565180 avail Mem:可用于进程下一次分配的物理内存数量 #第六行每个字段含义如下: PID:进程PID号 USER:进程所有者的用户名 PR:进程优先级执行顺序,越小越优先被执行 NI:负值表示高优先级,正值表示低优先级,越小越优先被执行 VIRT:进程使用的虚拟内存总量,单位kb RES:进程使用的、未被换出的物理内存大小,单位kb SHR:共享内存大小,单位kb S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU:进程使用的CPU百分比(重点关注) %MEM:进程使用的物理内存百分比(重点关注) TIME+:进程使用的CPU时间总计,单位1/100秒 COMMAND:命令名/命令行
#过滤sshd进程 [root@localhost ~]# pgrep sshd 7337 8880 15066 15086 17027 过滤sshd进程,并显示进程名称 [root@localhost ~]# pgrep -l sshd 7337 sshd 8880 sshd 15066 sshd 15086 sshd 17027 sshd #过滤指定用户的进程 [root@localhost ~]# pgrep -lU lisi 15086 sshd 15089 bash 15244 vim #按照用户名过滤进程时,选项不要颠倒 [root@localhost ~]# pgrep -Ul lisi pgrep: invalid user name: l #查看系统所有终端用户 [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 15:57 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #过滤用户在指定终端开启的进程信息 [root@localhost ~]# pgrep -lU lisi -t pts/1 15089 bash 15244 vim #过滤用户在指定终端开启的进程信息 [root@localhost ~]# pgrep -lU lisi -t pts/3 19704 bash 19754 top #精确匹配进程名(没有则不显示) [root@localhost ~]# pgrep -x ssh #精确匹配进程名 [root@localhost ~]# pgrep -xl crond 7362 crond
[root@localhost ~]# sleep 5m & [1] 20130 #查看后台进程信息 [root@localhost ~]# jobs -l [1]+ 20130 运行中 sleep 5m & #将后台进程放入前台运行 [root@localhost ~]# fg 1 sleep 5m #挂起前台进程放入后台 [root@localhost ~]# jobs [1]+ 已停止 sleep 5m #激活后台的进程 [root@localhost ~]# bg 1 [1]+ sleep 5m & [root@localhost ~]# jobs -l [1]+ 20130 运行中 sleep 5m &
#结束前台正在运行的进程 [root@localhost ~]# sleep 5m ^C #启用进程放入后台 [root@localhost ~]# sleep 5m & [1] 21150 [root@localhost ~]# sleep 6m & [2] 21155 [root@localhost ~]# sleep 7m & [3] 21159 [root@localhost ~]# sleep 8m & [4] 21162 #查看后台进程 [root@localhost ~]# jobs -l [1] 21150 运行中 sleep 5m & [2] 21155 运行中 sleep 6m & [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & #杀死后台指定的进程(按照PID) [root@localhost ~]# kill 21150 #查看后台进程 [root@localhost ~]# jobs -l [1] 21150 已终止 sleep 5m [2] 21155 运行中 sleep 6m & [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & [root@localhost ~]# kill 21155 [root@localhost ~]# jobs -l [2] 21155 已终止 sleep 6m [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & #强制杀死进程 [root@localhost ~]# kill -9 21159 [root@localhost ~]# jobs -l [3]- 21159 已杀死 sleep 7m [4]+ 21162 运行中 sleep 8m & #启动进程 [root@localhost ~]# sleep 4m & [5] 21402 [root@localhost ~]# sleep 5m & [6] 21406 [root@localhost ~]# sleep 6m & [7] 21409 [root@localhost ~]# sleep 7m & [8] 21412 [root@localhost ~]# jobs -l [4] 21162 运行中 sleep 8m & [5] 21402 运行中 sleep 4m & [6] 21406 运行中 sleep 5m & [7]- 21409 运行中 sleep 6m & [8]+ 21412 运行中 sleep 7m & #按照进程名去杀 [root@localhost ~]# killall sleep [4] 已终止 sleep 8m [5] 已终止 sleep 4m [6] 已终止 sleep 5m [7]- 已终止 sleep 6m [8]+ 已终止 sleep 7m #启动进程 [root@localhost ~]# sleep 5m & [1] 21491 [root@localhost ~]# sleep 6m & [2] 21495 [root@localhost ~]# sleep 7m & [3] 21498 [root@localhost ~]# jobs -l [1] 21491 运行中 sleep 5m & [2]- 21495 运行中 sleep 6m & [3]+ 21498 运行中 sleep 7m & #按照进程名强制杀死进程 [root@localhost ~]# killall -9 sleep [1] 已杀死 sleep 5m [2]- 已杀死 sleep 6m [3]+ 已杀死 sleep 7m [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 15:57 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) lisi pts/3 2021-04-24 17:14 (192.168.0.1) #杀死指定用户的所有进程(讲用户提出系统) [root@localhost ~]# killall -9 -u lisi [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #pkill命令演示 [root@localhost ~]# sleep 4m & [1] 21870 [root@localhost ~]# sleep 5m & [2] 21873 [root@localhost ~]# sleep 6m & [3] 21876 [root@localhost ~]# jobs [1] 运行中 sleep 4m & [2]- 运行中 sleep 5m & [3]+ 运行中 sleep 6m & [root@localhost ~]# pkill sleep [1] 已终止 sleep 4m [2]- 已终止 sleep 5m [3]+ 已终止 sleep 6m [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 17:47 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) lisi pts/3 2021-04-24 17:48 (192.168.0.1) [root@localhost ~]# pkill -9 -t pts/3
[root@localhost ~]# users [root@localhost ~]# users lisi root root #root:以登录系统的用户名 [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 17:47 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #第一列:以登录系统的用户名 #第二列:用户登录的终端编号 #第三列:登陆时间 #第四列:远程登录地址 [root@localhost ~]# w 08:16:10 up 55 min, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.0.1 07:21 2.00s 0.10s 0.00s w #第一行为top命令显示的第一行数据 #第二行每列含义如下: USER:以登录的用户名 TTY:用户登录终端编号 FROM:登录地址 LOGIN@:登录时间 IDLE:用户空闲时间,这是个计时器,一旦用户执行任何操作,该计时器便会被重置 JCPU:该终端所有进程占用CPU处理时间,包括正在运行和后台作业占用时间。 PCPU:进程执行以后消耗的CPU时间 WHAT:当前正在执行的任务 #显示登录成功用户 [root@localhost ~]# last lisi pts/1 192.168.0.1 Sat Apr 24 07:56 - 08:03 (00:07) #第一列:用户名 #第二列:用户登录终端编号 #第三列:登录地址 #第四列:登录起使时间 #第五列:登录结束时间 #第六列:登录持续时间 #查看最近2次登录系统成功的用户 [root@localhost ~]# last -2 lisi pts/3 192.168.0.1 Sat Apr 24 17:48 - 17:50 (00:01) lisi pts/3 192.168.0.1 Sat Apr 24 17:47 - 17:48 (00:00) #查看登录失败用户 [root@localhost ~]# lastb lisi ssh:notty 192.168.0.1 Sat Apr 24 08:52 - 08:52 (00:00)
#查看进程树 [root@localhost ~]# pstree systemd─┬─ModemManager───2*[{ModemManager}] CentOS7版本:天父进程systemd CentOS6版本:天父进程init,Apstart CentOS5版本:天赋进程init #以PID形式显示进程信息 [root@localhost ~]# pstree -p systemd(1)─┬─ModemManager(6714)─┬─{ModemManager}(6739) #查看系统用户的进程信息 [root@localhost ~]# pstree -p lisi sshd(15086)───bash(15089)───vim(15244) [root@localhost ~]# pstree -pa lisi sshd,15086 └─bash,15089 └─vim,15244 1.txt #查看系统所有用户的进程 root@localhost ~]# pstree -up ... ├─smartd(6726) ├─sshd(7337)─┬─sshd(8880)───bash(8887)───pstree(15395) │ └─sshd(15066)───sshd(15086,lisi)───bash(15089)───vim(15244)
#查看系统所有进程信息 [root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 2.2 0.3 127992 6576 ? Ss 09:08 0:01 /usr/lib/systemd/systemd --switched-root #个字段含义如下: user:进程属于那个用户 PID :进程PID号 %CPU:进程占用CPU资源百分比 %MEM:进程占用物理内存百分比 VSZ :进程使用掉的虚拟内存量(单位:Kb) RSS :进程占用固定内存量(单位:Kb) TTY :进程在那个终端运行,如果内核直接调用则显示“?”,tty1-tty6表示本机终端登录的用户进程,pts/0-255则表示远程终端登录用户的进程 STAT:进程状态:R(Running)运行,S(Sleep)休眠,s包含子进程,T(stop)停止,Z(Zombie)僵尸,+后台进程 START:进程启动时间 TIME :占用CPU运算时间 COMMAND:产生进程的命令 #查看系统所有进程信息 [root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 09:08 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --dese #PPID :该进程的父进程ID号
[root@localhost ~]# top top - 21:22:04 up 12:13, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1863224 total, 1502920 free, 107872 used, 252432 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 1565576 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8317 root 20 0 161984 2220 1568 R 0.7 0.1 0:01.62 top #第一行top每个字段含义如下: 第二列:21:22:04:当前系统时间 第三列:up 12:13:系统运行时间,该系统以运行12小时13分钟(up 10 day,12:13 代表运行10天12小时13分钟) 第四列:2 users:当前系统登录终端数量 第五列:load average: 0.00, 0.01, 0.05:CPU1分钟,5分钟,15分钟之前平均负载量,根据CPU核数判断系统CPU负载量,1核CPU若高于1代表负载过高,2核CPU若高于2代表负载过高,依次类推。。。 #第二行Tasks每个字段含义如下: 第二列:115 total:当前系统中进程的总数量 第三列:1 running:正在运行的进程数量 第四列:114 sleeping:正在睡眠的进程数量 第五列:0 stopped:正在停止的进程数量 第六列:0 zombie:僵尸进程数量,僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。 #查找僵尸进程与其父进程 ps -A -o stat,ppid,pid,cmd | grep "^Zz" 命令解释: -A 参数列出所有进程 -o 自定义输出字段,我们设定显示字段为 stat(状态), ppid(父进程id), pid(进程id),cmd(命令)这四个参数,因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 #杀死进程 kill -9 + 父进程号 #第三行%Cpu(s)每个字段含义如下 第二列:0.0 us:用户进程占用的CPU百分比 第三列:0.0 sy:系统进程占用的CPU百分比 第四列:0.0 ni:改变过优先级的用户进程占用的CPU百分比 第五列:100.0 id:空闲的CPU百分比(重点关注) 第六列:0.0 wa:等待输入/输出的进程的占用CPU百分比 第七列:0.0 hi:硬中断请求服务占用的CPU百分比 第八列:0.0 si:软中断请求服务占用的CPU百分比 第九列:0.0 st:虚拟时间百分比,当有虚拟机时,虚拟CPU等待实际CPU的时间百分比 #第四行KiB Mem每个字段含义如下: 第二列:1863224 total:物理内存总量,单位KB 第三列:1502516 free: 空闲内存总量,单位KB 第四列:108240 used: 以使用的内存总量,单位KB 第五列:252468 buff/cache:块设备与普通文件占用的缓存数量 #第五行KiB Swap每个字段含义如下: 第二列:2097148 total:交换空间总量,单位KB 第三列:2097148 free:可用空闲交换空间总量,单位KB 第四列:0 used::以使用的交换空间总量,单位KB 第五列:1565180 avail Mem:可用于进程下一次分配的物理内存数量 #第六行每个字段含义如下: PID:进程PID号 USER:进程所有者的用户名 PR:进程优先级执行顺序,越小越优先被执行 NI:负值表示高优先级,正值表示低优先级,越小越优先被执行 VIRT:进程使用的虚拟内存总量,单位kb RES:进程使用的、未被换出的物理内存大小,单位kb SHR:共享内存大小,单位kb S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU:进程使用的CPU百分比(重点关注) %MEM:进程使用的物理内存百分比(重点关注) TIME+:进程使用的CPU时间总计,单位1/100秒 COMMAND:命令名/命令行
#过滤sshd进程 [root@localhost ~]# pgrep sshd 7337 8880 15066 15086 17027 过滤sshd进程,并显示进程名称 [root@localhost ~]# pgrep -l sshd 7337 sshd 8880 sshd 15066 sshd 15086 sshd 17027 sshd #过滤指定用户的进程 [root@localhost ~]# pgrep -lU lisi 15086 sshd 15089 bash 15244 vim #按照用户名过滤进程时,选项不要颠倒 [root@localhost ~]# pgrep -Ul lisi pgrep: invalid user name: l #查看系统所有终端用户 [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 15:57 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #过滤用户在指定终端开启的进程信息 [root@localhost ~]# pgrep -lU lisi -t pts/1 15089 bash 15244 vim #过滤用户在指定终端开启的进程信息 [root@localhost ~]# pgrep -lU lisi -t pts/3 19704 bash 19754 top #精确匹配进程名(没有则不显示) [root@localhost ~]# pgrep -x ssh #精确匹配进程名 [root@localhost ~]# pgrep -xl crond 7362 crond
[root@localhost ~]# sleep 5m & [1] 20130 #查看后台进程信息 [root@localhost ~]# jobs -l [1]+ 20130 运行中 sleep 5m & #将后台进程放入前台运行 [root@localhost ~]# fg 1 sleep 5m #挂起前台进程放入后台 [root@localhost ~]# jobs [1]+ 已停止 sleep 5m #激活后台的进程 [root@localhost ~]# bg 1 [1]+ sleep 5m & [root@localhost ~]# jobs -l [1]+ 20130 运行中 sleep 5m &
#结束前台正在运行的进程 [root@localhost ~]# sleep 5m ^C #启用进程放入后台 [root@localhost ~]# sleep 5m & [1] 21150 [root@localhost ~]# sleep 6m & [2] 21155 [root@localhost ~]# sleep 7m & [3] 21159 [root@localhost ~]# sleep 8m & [4] 21162 #查看后台进程 [root@localhost ~]# jobs -l [1] 21150 运行中 sleep 5m & [2] 21155 运行中 sleep 6m & [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & #杀死后台指定的进程(按照PID) [root@localhost ~]# kill 21150 #查看后台进程 [root@localhost ~]# jobs -l [1] 21150 已终止 sleep 5m [2] 21155 运行中 sleep 6m & [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & [root@localhost ~]# kill 21155 [root@localhost ~]# jobs -l [2] 21155 已终止 sleep 6m [3]- 21159 运行中 sleep 7m & [4]+ 21162 运行中 sleep 8m & #强制杀死进程 [root@localhost ~]# kill -9 21159 [root@localhost ~]# jobs -l [3]- 21159 已杀死 sleep 7m [4]+ 21162 运行中 sleep 8m & #启动进程 [root@localhost ~]# sleep 4m & [5] 21402 [root@localhost ~]# sleep 5m & [6] 21406 [root@localhost ~]# sleep 6m & [7] 21409 [root@localhost ~]# sleep 7m & [8] 21412 [root@localhost ~]# jobs -l [4] 21162 运行中 sleep 8m & [5] 21402 运行中 sleep 4m & [6] 21406 运行中 sleep 5m & [7]- 21409 运行中 sleep 6m & [8]+ 21412 运行中 sleep 7m & #按照进程名去杀 [root@localhost ~]# killall sleep [4] 已终止 sleep 8m [5] 已终止 sleep 4m [6] 已终止 sleep 5m [7]- 已终止 sleep 6m [8]+ 已终止 sleep 7m #启动进程 [root@localhost ~]# sleep 5m & [1] 21491 [root@localhost ~]# sleep 6m & [2] 21495 [root@localhost ~]# sleep 7m & [3] 21498 [root@localhost ~]# jobs -l [1] 21491 运行中 sleep 5m & [2]- 21495 运行中 sleep 6m & [3]+ 21498 运行中 sleep 7m & #按照进程名强制杀死进程 [root@localhost ~]# killall -9 sleep [1] 已杀死 sleep 5m [2]- 已杀死 sleep 6m [3]+ 已杀死 sleep 7m [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 15:57 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) lisi pts/3 2021-04-24 17:14 (192.168.0.1) #杀死指定用户的所有进程(讲用户提出系统) [root@localhost ~]# killall -9 -u lisi [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #pkill命令演示 [root@localhost ~]# sleep 4m & [1] 21870 [root@localhost ~]# sleep 5m & [2] 21873 [root@localhost ~]# sleep 6m & [3] 21876 [root@localhost ~]# jobs [1] 运行中 sleep 4m & [2]- 运行中 sleep 5m & [3]+ 运行中 sleep 6m & [root@localhost ~]# pkill sleep [1] 已终止 sleep 4m [2]- 已终止 sleep 5m [3]+ 已终止 sleep 6m [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 17:47 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) lisi pts/3 2021-04-24 17:48 (192.168.0.1) [root@localhost ~]# pkill -9 -t pts/3
[root@localhost ~]# users [root@localhost ~]# users lisi root root #root:以登录系统的用户名 [root@localhost ~]# who root pts/0 2021-04-24 14:06 (192.168.0.1) lisi pts/1 2021-04-24 17:47 (192.168.0.1) root pts/2 2021-04-24 16:29 (192.168.0.1) #第一列:以登录系统的用户名 #第二列:用户登录的终端编号 #第三列:登陆时间 #第四列:远程登录地址 [root@localhost ~]# w 08:16:10 up 55 min, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.0.1 07:21 2.00s 0.10s 0.00s w #第一行为top命令显示的第一行数据 #第二行每列含义如下: USER:以登录的用户名 TTY:用户登录终端编号 FROM:登录地址 LOGIN@:登录时间 IDLE:用户空闲时间,这是个计时器,一旦用户执行任何操作,该计时器便会被重置 JCPU:该终端所有进程占用CPU处理时间,包括正在运行和后台作业占用时间。 PCPU:进程执行以后消耗的CPU时间 WHAT:当前正在执行的任务 #显示登录成功用户 [root@localhost ~]# last lisi pts/1 192.168.0.1 Sat Apr 24 07:56 - 08:03 (00:07) #第一列:用户名 #第二列:用户登录终端编号 #第三列:登录地址 #第四列:登录起使时间 #第五列:登录结束时间 #第六列:登录持续时间 #查看最近2次登录系统成功的用户 [root@localhost ~]# last -2 lisi pts/3 192.168.0.1 Sat Apr 24 17:48 - 17:50 (00:01) lisi pts/3 192.168.0.1 Sat Apr 24 17:47 - 17:48 (00:00) #查看登录失败用户 [root@localhost ~]# lastb lisi ssh:notty 192.168.0.1 Sat Apr 24 08:52 - 08:52 (00:00)