1. ps
ps命令用于查看当前系统中进程的运行状态,一般和kill搭配使用,实现对进程的管理
进程命令含义ps -ef 列出linux下进程的所有详细信息。 -e:列出系统所有运行的进程,-f 显示ID, PID, PPID等 ps -l使用详细格式显示进程状况ps aux列出linux下进程的所有详细信息。跟ps -ef效果一样,只不过显示格式不同,常用 ps auxps -u 用户名指定某个用户的下的进程ps -eo 自定义选项自定义进程查看格式pgrep通过进程名字去查询某些进程,一般用于查看进程是否存活
示例:
ps : 【PID-进程号】【TTY- 】【TIME-进程所使用的终端号码,如果再开一个终端,就会变成pts/1】【CMD-正在执行的系统命令行】【进程所使用的CPU总时间】。在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID。所以使用 ps -l 的时候,只有2个 PID。
root@LUCAS-DEV-23557e:/mnt/share_disk/wmq/test# ps
PID TTY TIME CMD
294965 pts/0 00:00:00 bash
294980 pts/0 00:00:00 ps
root@LUCAS-DEV-23557e:~# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 295276 295265 0 80 0 - 4662 wait pts/3 00:00:00 bash
0 R 0 295332 295276 0 80 0 - 5494 - pts/3 00:00:00 ps
ps -ef:列出linux下进程的所有详细信息
root@LUCAS-DEV-23557e:/mnt/share_disk/wmq/test# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 May18 ? 00:00:00 bash -c chmod +x /cpfs/init/deve
root 7 1 0 May18 ? 00:00:25 /bin/bash /cpfs/init/developer_i
root 545 1 0 May18 ? 00:00:00 /usr/sbin/sshd
root 20950 1 0 May31 ? 00:00:04 tmux new -s wmq
root 20951 20950 0 May31 pts/1 00:00:00 -bash
ps aux:同 ps -ef
root@LUCAS-DEV-23557e:~# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 20132 2776 ? Ss May18 0:00 bash -c chmod +x
root 7 0.0 0.0 20132 2996 ? S May18 0:25 /bin/bash /cpfs/i
root 545 0.0 0.0 68236 2872 ? Ss May18 0:00 /usr/sbin/sshd
root 20950 0.0 0.0 28808 4740 ? Ss May31 0:04 tmux new -s wmq
ps -u root:查看root用户目录下的进程
root@LUCAS-DEV-23557e:~# ps -u root
PID TTY TIME CMD
1 ? 00:00:00 bash
7 ? 00:00:25 developer_init.
545 ? 00:00:00 sshd
20950 ? 00:00:04 tmux: server
ps -eo pid, stat:自定义查看进程的pid号和stat状态。其中stat是指该进程运行的状态,linux进程有5中基本状态:
R:正在运行或在运行队列中等待
S:该进程目前正在睡眠中,但可能会被某些讯号唤醒
T:该程序目前暂停,比如ctrl + z。处于后台挂起暂停状态
root@LUCAS-DEV-23557e:~# ps -eo pid,stat
PID STAT
1 Ss
7 S
545 Ss
20950 Ss
pgrep 名字:查询ssh命令对应的进程号
root@LUCAS-DEV-23557e:~# pgrep ssh
545
291406
291682
292826
295265
295291
2. kill
名称含义kill pid终止进程kill -9 pid立即停止进程,可以杀死所有进程,如僵尸进程等kill -0 pid 一般配合 eocho $?来使用 kill -0 pid 是来判断进程id是否存在。然后执行echo $?来取出kill -0 pid 的执行结果,为0表示命令正确,不为0都是错误状态码 killall可以通过名字杀死所有进程pkill可以通过名字杀死所有进程。与killall用法一样,但是killall可能一次性杀不死所有进程,因为可能会包含子进程,但是pkill可以一次性杀死所有父子进程
示例:
pkill 杀死所有名字中有ping的进程
root@LUCAS-DEV-23557e:~# ps aux|grep ping
root 295552 0.0 0.0 10928 2060 pts/3 S+ 15:44 0:00 ping baidu.com
root 295553 0.0 0.0 10928 2068 pts/0 S+ 15:44 0:00 ping jd.com
root 295593 0.0 0.0 11472 1060 pts/5 S+ 15:45 0:00 grep --color=auto ping
root@LUCAS-DEV-23557e:~# pkill ping
3. tty, w 和 pkill
命令含义tty用于显示终端机连接标准输入设备的文件名称w显示当前登录用户及这些用户正在做什么pkill可以通过名字杀死所有进程。与killall用法一样,但是killall可能一次性杀不死所有进程,因为可能会包含子进程,但是pkill可以一次性杀死所有父子进程
示例:
tty 命令:
root@LUCAS-DEV-23557e:~# tty
/dev/pts/0
w 命令:可以主要关注与当前的终端窗口连接的设备文件有哪些 - pts/0, pts/1, pts/2...
root@LUCAS-DEV-23557e:~# w
16:05:37 up 43 days, 3:27, 5 users, load average: 138.40, 94.87, 64.35
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.200.254.221 15:35 0.00s 0.01s 0.00s w
root pts/1 tmux(20950).%0 31May22 2days 9:08m 0.18s -bash
root pts/2 tmux(20950).%1 14Jun22 8days 0.01s 0.01s -bash
root pts/5 10.200.1.140 15:45 17:52 0.00s 0.00s -bash
root pts/3 10.200.254.221 14:28 17:19 0.02s 0.02s -bash
pkill 命令:杀死终端中所有命令 - pkill -9 -t pts/0
root@LUCAS-DEV-23557e:~# pkill -9 -t pts/3
4. top
top命令可以动态查看进程变化,监控linux的系统状况。Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,是动态的ps aux。等同于windows的任务管理器。
第1行:任务队列信息 ,有【系统运行时间 - 当前登录用户数 - 系统负载,即任务队列的平均长度】
第2,3行:进程和CPU的信息。当有多个CPU时,可能会超过两行
第4,5行:内存信息,有【使用的物理内存总量 - 空闲内存总量 - 用作内核缓存的内存量】
参数含义qquit:表示退出toptop -c显示进程命令的绝对路径top -d 描述设置top刷新时间top -n 次数设置top刷新次数top -p pid指定查看某一个进程信息
示例:
top -c
top -p 300281
好文阅读
发表评论