linux中的PS命令
PS是LINUX下最常用的也是非常强大的进程查看命令
1. ps简介
前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是
本章的主题。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而
ps命令就是最基本
同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状
态、进程是否结束、
进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命
令得到的。
2. ps命令及其参数
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标
准输入/输出设
备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。
该命令语法格式如下:
ps [选项]
下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上的所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定的多级排序顺序显示
进程列表。
对于ps的不同格式都存在着默认的顺序指定。这些默认顺序可以被用户的指定所覆盖。其
中“+”字符是可选
的,“-”字符是倒转指定键的方向。
pids 只列出付ń 痰那榭觥8鹘 蘄D之间使用逗号分隔。该进程列表必须在命令行参数的
最后一个选项
后面紧接着给出,中间不能插入空格。比如:ps -f1,4,5。
以下介绍长命令行选项,这些选项都使用“--”开头:
--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键。“+”字符是可选的,
因
为默认的方向就是按数字升序或者词典顺序。比如: ps -jax -sort=uid,-ppid,+pid。
--help 显示帮助信息。
--version 显示该命令的版本信息。
在前面的选项说明中提到了排序键,接下来对排序键作进一步说明。需要注意的是排序中使
用的值是ps使
用的内部值,并非仅用于某些输出格式的伪值。排序键列表见表4-3。
表4-3 排序键列表
短格式
长格式
说 明
c
cmd
可执行的简单名称
C
cmdline
完整命令行
f
flags
长模式标志
g
pgrp
进程的组ID
G
tpgid
控制tty进程组ID
j
cutime
累计用户时间
J
cstime
累计系统时间
k
utime
用户时间
K
stime
系统时间
m
min_flt
次要页错误的数量
M
maj_flt
主要页错误的数量
n
cmin_flt
累计次要页错误
N
cmaj_flt
累计主要页错误
o
session
对话ID
p
pid
进程ID
P
ppid
父进程ID
r
rss
驻留大小
R
resident
驻留页
s
size
内存大小(千字节)
S
share
共享页的数量
t
tty
tty次要设备号
T
start_time
进程启动的时间
U
uid
UID
u
user
用户名
v
vsize
总的虚拟内存数量(字节)
y
priority
内核调度优先级
3. 常用ps命令参数
前面两节介绍的参数可能让读者觉得有些可怕,实际上这是一个非常容易使用的命令,一般
的用户只
需掌握一些最常用的命令参数就可以了。
最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
[例20] 以root身份登录系统,查看当前进程状况
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进
程执行时间)
、COMMAND(该进程的命令行输入)。
可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash进程前面有条横线,意味着该进程便是用户的登录shell,所以对于一个登录用户来
说带短横线的进
程只有一个。还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时
间的百分比;后者指该进程
占用的内存和总内存的百分比。
在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有
观察到,所以这
时就需要使用x选项。使用x选项可以观察到所有的进程情况。
linux中查看内存使用情况的命令
linux中查看内存使用情况的命令在Linux系统中,了解内存使用情况是非常重要的,可以帮助我们更好地监控系统的健康状态,及时发现问题并采取相应的措施。
本文将介绍几个常用的命令来查看内存使用情况。
1. free命令free命令是最简单直观的查看内存使用情况的方式。
在终端中输入"free"命令,即可显示系统当前的内存使用情况,包括总内存、已使用内存、空闲内存等信息。
通过这些信息,我们可以快速了解系统的内存占用情况,判断是否存在内存不足的问题。
2. top命令top命令是一个非常强大的系统监控工具,可以实时显示系统的各种性能数据,包括内存使用情况。
在终端中输入"top"命令,可以查看系统中各个进程的内存占用情况,以及总体的内存使用情况。
通过top命令,我们可以及时发现内存占用较高的进程,进而进行优化或调整。
3. vmstat命令vmstat命令可以显示系统的虚拟内存统计信息,包括内存使用情况、磁盘IO、CPU利用率等。
在终端中输入"vmstat"命令,可以查看系统当前的内存使用情况,以及内存的交换情况。
通过vmstat命令,我们可以全面了解系统的性能状况,及时调整系统配置。
4. sar命令sar命令是系统性能分析工具,可以收集、报告系统各种性能数据,包括内存使用情况。
在终端中输入"sar -r"命令,可以查看系统的内存使用情况,包括内存的总量、已用量、空闲量等信息。
sar命令还可以生成历史数据报告,帮助我们进行系统性能分析。
5. ps命令ps命令是一个常用的进程查看工具,可以显示系统当前运行的进程信息。
在终端中输入"ps aux"命令,可以查看系统中各个进程的详细信息,包括进程的内存占用情况。
通过ps命令,我们可以了解系统中各个进程的内存占用情况,及时调整或结束不必要的进程。
总结起来,通过以上几个常用的命令,我们可以方便地查看Linux 系统的内存使用情况,及时发现并解决内存相关的问题,保障系统的稳定运行。
linux常用命令及示范
Linux常用命令及示范Linux是一种开源的操作系统,它具有高效、稳定、安全等优点,广泛应用于服务器、嵌入式设备、云计算等领域。
Linux系统提供了丰富的命令行工具,可以方便地对系统进行管理、配置、监控和调试。
本文将介绍Linux常用的一些命令,包括文件操作、目录操作、进程管理、网络管理、系统管理和其他实用的命令,并给出一些具体的示例,帮助读者掌握Linux命令的基本用法和技巧。
一、文件操作命令文件是Linux系统中最基本的单位,它可以是文本文件、二进制文件、设备文件等。
Linux系统提供了一些命令,可以对文件进行创建、删除、复制、移动、重命名、查看、编辑等操作。
下面介绍一些常用的文件操作命令。
1. touch命令touch命令的作用是创建一个空文件或者修改一个已有文件的时间戳。
它的基本语法是:touch [选项] 文件名其中,选项可以是:-a:只修改访问时间-c:如果文件不存在,不创建新文件-m:只修改修改时间-r:把指定文件的时间戳复制给另一个文件-t:指定修改时间,格式为[[CC]YY]MMDDhhmm[.ss]例如:# 创建一个空文件test.txttouch test.txt# 修改test.txt的访问时间和修改时间为当前时间touch test.txt# 修改test.txt的访问时间为2021年4月1日10:00:00touch -a -t 202104011000.00 test.txt# 把test.txt的时间戳复制给test2.txttouch -r test.txt test2.txt2. rm命令rm命令的作用是删除一个或多个文件或目录。
它的基本语法是:rm [选项] 文件或目录其中,选项可以是:-f:强制删除,忽略不存在的文件或目录,不提示确认-i:交互式删除,删除前提示确认-r:递归删除,删除目录及其子目录和文件例如:# 删除一个文件test.txtrm test.txt# 删除一个目录test,并提示确认rm -ir test# 强制删除一个目录test及其子目录和文件,不提示确认rm -rf test3. cp命令cp命令的作用是复制一个或多个文件或目录。
linux shell powershell 语法对照
Linux Shell和PowerShell是两种不同的命令行界面,它们的语法和功能也有所不同。
以下是一些常见的Linux Shell和PowerShell语法对照:文件路径:Linux Shell:使用正斜杠(/)作为路径分隔符,例如:/home/user/documents PowerShell:使用反斜杠(\)作为路径分隔符,例如:C:\Users\User\Documents命令提示符:Linux Shell:命令提示符通常为,例如:username@hostname:PowerShell:命令提示符通常为PS,例如:PS C:\Users\User>命令帮助:Linux Shell:使用man命令查看命令的帮助文档,例如:man lsPowerShell:使用Get-Help查看命令的帮助文档,例如:Get-Help Get-ChildItem管道操作符:Linux Shell:使用竖线(|)作为管道操作符,例如:ls | grep txtPowerShell:使用管道符号(|)作为管道操作符,例如:Get-ChildItem | Where-Object { $_.Extension -eq ".txt" }变量赋值:Linux Shell:使用等号(=)进行变量赋值,例如:name="John"PowerShell:使用赋值符号()进行变量赋值,例如:name = "John"引号的使用:Linux Shell:可以使用单引号(')或双引号(")来引用字符串,例如:echo 'Hello World' 或echo "Hello World"PowerShell:也可以使用单引号(')或双引号(")来引用字符串,例如:echo 'Hello World' 或echo "Hello World"通配符和正则表达式:Linux Shell:使用通配符(*、?、[])和正则表达式进行模式匹配和筛选,例如:ls *.txt 或grep '[0-9]' file.txtPowerShell:也支持通配符(*、?、[])和正则表达式进行模式匹配和筛选,例如:Get-ChildItem -Filter *.txt 或Select-String -Pattern '[0-9]' -Path file.txt这只是一些常见的Linux Shell和PowerShell语法对照示例,实际上还有许多其他的差异和特性。
ps-aux命令详解
ps-aux命令详解ps aux指令詳解linux上进程有5种状态:1. 运⾏(正在运⾏或在运⾏队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运⾏, 进程必须等待直到有中断发⽣)4. 僵死(进程已终⽌, 但进程描述符存在, 直到⽗进程调⽤wait4()系统调⽤后释放)5. 停⽌(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停⽌运⾏运⾏)1)ps a 显⽰现⾏终端机下的所有程序,包括其他⽤户的程序。
2)ps -A 显⽰所有程序。
3)ps c 列出程序时,显⽰每个程序真正的指令名称,⽽不包含路径,参数或常驻服务的标⽰。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显⽰每个程序所使⽤的环境变量。
6)ps f ⽤ASCII字符显⽰树状结构,表达程序间的相互关系。
7)ps -H 显⽰树状结构,表⽰程序间的相互关系。
8)ps -N 显⽰所有的程序,除了执⾏ps指令终端机下的程序之外。
9)ps s 采⽤程序信号的格式显⽰程序状况。
10)ps S 列出程序时,包括已中断的⼦程序资料。
11)ps -t <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u 以⽤户为主的格式来显⽰程序状况。
13)ps x 显⽰所有程序,不以终端机来区分。
14)ps -l 較⾧,較詳細的顯⽰該PID的信息# ps -lA |moreF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init1 S 02 1 0 -40 - - 0 migrat ? 00:00:03 migration/01 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/01 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/11 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/11 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/21 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2相關信息的意義:F 進程的標誌(flag),4表⽰⽤⼾為超級⽤⼾S 進程的狀態(stat),各STAT的意義⾒下⽂PID 進程的IDC CPU使⽤資源的百分⽐PRI priority(優先級)的縮寫,NI Nice值,ADDR 核⼼功能,指出該進程在內存的那⼀部分,如果是運⾏的進程,⼀般都是“-”SZ ⽤掉的內存的⼤⼩WCHAN 當前進程是否正在運⾏,若為“-”表⽰正在運⾏TTY 登陸者的終端位置TIME ⽤掉的CPU的時間CMD 所執⾏的指令# ps aux |moreUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3]root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0]root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0]root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1]root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1]root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2]root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2]root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3]root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3]root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4]上述各位解释:USER 进程的属主;PID 进程的ID;PPID ⽗进程;%CPU 进程占⽤的CPU百分⽐;%MEM 占⽤内存的百分⽐;NI 进程的NICE值,数值⼤,表⽰较少占⽤CPU时间;VSZ 进程使⽤的虚拟內存量(KB);RSS 该进程占⽤的固定內存量(KB)(驻留中页的数量);TTY 该进程在那個終端上運⾏(登陸者的終端位置),若與終端無關,則顯⽰(?)。
Linux下查看进程和线程
在Linux中查看线程数的三种方法1、top -H手册中说:-H : Threads toggle加上这个选项启动top,top一行显示一个线程。
否则,它一行显示一个进程。
2、ps xH手册中说:H Show threads as if they were processes这样可以查看所有存在的线程。
3、ps -mp <PID>手册中说:m Show threads after processes这样可以查看一个进程起的线程数。
查看进程1. top 命令top命令查看系统的资源状况load average表示在过去的一段时间内有多少个进程企图独占CPUzombie 进程:不是异常情况。
一个进程从创建到结束在最后那一段时间遍是僵尸。
留在内存中等待父进程取的东西便是僵尸。
任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。
如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。
kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop 是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。
cpu states:nice:让出百分比irq:中断处理占用idle:空间占用百分比iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))Mem:内存情况设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。
判断物理内存够不够,看交换分区的使用状态。
交互命令:[Space]立即刷新显示[h]显示帮助屏幕[k] 杀死某进程。
你会被提示输入进程ID 以及要发送给它的信号。
一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。
默认值是信号15。
在安全模式中此命令被屏蔽。
[n] 改变显示的进程数量。
你会被提示输入数量。
[u] 按用户排序。
[M] 按内存用量排序。
ps命令的用法
ps命令的用法是用于显示当前系统中的进程状态。
ps命令有很多参数,常用的参数有:
ps a:显示现行终端机下的所有程序,包括其他用户的程序。
ps -A:显示所有程序。
ps c:列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps e:列出程序时,显示每个程序所使用的环境变量。
ps f:用ASCII字符显示树状结构,表达程序间的相互关系。
ps -N:显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s:采用程序信号的格式显示程序状况。
ps S:列出程序时,包括已中断的子程序资料。
ps -t:指定终端机编号,并列出属于该终端机的程序的状况。
ps u:以用户为主的格式来显示程序状况。
ps x:显示所有程序,不以终端机来区分。
ps命令详解
ps命令详解原⽂地址:有时候系统管理员可能只关⼼现在系统中运⾏着哪些程序,⽽不想知道有哪些进程在运⾏。
由于⼀个应⽤程序可能需要启动多个进程。
所以在同等情况下,进程的数量要⽐程序多的多。
为此从阅读⽅⾯考虑,管理员需要知道系统中运⾏的具体程序。
要实现这个需求的话,就需要利⽤命令ps来帮忙。
要对进程进⾏监测和控制,⾸先必须要了解当前进程的情况,也就是需要查看当前进程,⽽ ps 命令就是最基本同时也是⾮常强⼤的进程查看命令。
使⽤该命令可以确定有哪些进程正在运⾏和运⾏的状态、进程是否结束、进程有没有僵死、哪些进程占⽤了过多的资源等等。
总之⼤部分信息都是可以通过执⾏该命令得到的。
名称:ps使⽤权限:所有使⽤者使⽤⽅式:ps [options] [--help]说明:显⽰瞬间⾏程 (process) 的动态参数:ps的参数⾮常多, 在此仅列出⼏个常⽤的参数并⼤略介绍含义-A 列出所有的进程-w 显⽰加宽可以显⽰较多的资讯-au 显⽰较详细的资讯-aux 显⽰所有包含其他使⽤者的⾏程############################################################常⽤参数:-A 显⽰所有进程(等价于-e)(utility)-a 显⽰⼀个终端的所有进程,除了会话引线-N 忽略选择。
-d 显⽰所有进程,但省略所有的会话引线(utility)-x 显⽰没有控制终端的进程,同时显⽰各个命令的具体路径。
dx不可合⽤。
(utility)-p pid 进程使⽤cpu的时间-u uid or username 选择有效的⽤户id或者是⽤户名-g gid or groupname 显⽰组的所有进程。
U username 显⽰该⽤户下的所有进程,且显⽰各个命令的详细路径。
如:ps U zhang;(utility)-f 全部列出,通常和其他选项联⽤。
如:ps -fa or ps -fx and so on.-l 长格式(有F,wchan,C 等字段)-j 作业格式-o ⽤户⾃定义格式。
常用的linux 命令
常用的linux 命令
Linux是一种流行的操作系统,具有强大的命令行界面。
在这里,我们将探讨常用的Linux命令。
1. ls:列出当前目录中的文件和文件夹。
2. cd:更改当前目录。
3. pwd:显示当前目录的路径。
4. mkdir:创建新目录。
5. touch:创建新文件或更新现有文件的时间戳。
6. cp:复制文件或目录。
7. mv:移动文件或目录。
8. rm:删除文件或目录。
9. cat:查看文件内容。
10. less:以交互方式查看大型文件。
11. grep:在文件中搜索特定字符串。
12. echo:将文本输出到终端或文件中。
13. chmod:更改文件或目录的权限。
14. chown:更改文件或目录的所有者。
15. ps:显示当前运行的进程。
这些命令是Linux中最常用的,但还有很多其他命令可供使用。
掌握这些命令是了解Linux操作系统的第一步。
- 1 -。
指令——ps-ef
指令——ps-ef⼀个完整的指令的标准格式:Linux通⽤的格式——#指令主体(空格) [选项](空格) [操作对象]⼀个指令可以包含多个选项,操作对象也可以是多个。
指令:ps 【process show】作⽤:主要是查看服务器的进程信息选项含义:-e:等价于“-A”,表⽰列出全部的进程-f:表⽰full,显⽰全部的列(显⽰全字段)执⾏命令:#ps -ef 然后查看结果,进程有时候会很多,所以会⽤到管道符“|”来过滤出想要的结果。
(100%使⽤的命令)在ps的结果中过滤出想要查看的进程状态“crond”进程#ps -ef|grep “进程名称”注意查询结果:其中如果只有⼀条则表⽰没查到对应的进程(这1条表⽰刚才ps指令的⾃⾝)。
只有查到的结果多余1条,才表⽰有对应的进程。
[he@localhost ~]$ ps -ef |grep "crond"root 1019 1 0 19:51 ? 00:00:01 /usr/sbin/crond -nhe 3955 3561 0 20:14 pts/0 00:00:00 grep --color=auto crond补充:针对上述情况的优化:如果没有对应的进程,则什么都不显⽰。
思路:在现有的基础之上再次使⽤管道去处理下(-v选项表⽰“排除”)。
# ps -ef | grep “crond” | grep -v “grep”[he@localhost ~]$ ps -ef|grep "crond"|grep -v "grep"root 1019 1 0 19:51 ? 00:00:01 /usr/sbin/crond -n查看进程的情况是随时都会⽤到的命令。
如何在Linux终端中查看系统信息
如何在Linux终端中查看系统信息Linux终端是Linux操作系统中一种非常重要的工具,它不仅可以执行各种命令和操作,还能够提供系统信息以供用户参考。
本文将介绍如何在Linux终端中查看系统信息的方法和命令。
一、查看系统基本信息1. 使用 uname 命令uname命令允许我们获取有关内核和操作系统的基本信息。
在终端中输入以下命令并按回车键:```bashuname -a```此命令将显示包括内核版本、主机名、操作系统版本和架构等信息。
2. 使用 hostnamectl 命令hostnamectl命令允许我们查看和修改系统的主机名和相关信息。
在终端中输入以下命令并按回车键:```bashhostnamectl```此命令将显示主机名、操作系统版本、内核版本、硬件架构和时间相关信息。
3. 使用 lsb_release 命令lsb_release命令用于显示当前系统的发行版信息。
在终端中输入以下命令并按回车键:```bashlsb_release -a```此命令将显示操作系统的发行版名称、版本号和描述等信息。
二、查看硬件信息1. 使用 lspci 命令lspci命令用于显示计算机的PCI总线配置信息,包括连接到PCI总线的设备列表。
在终端中输入以下命令并按回车键:```bashlspci```此命令将显示包括设备名称、供应商信息和设备标识等硬件信息。
2. 使用 lsusb 命令lsusb命令用于显示连接到USB总线的设备列表。
在终端中输入以下命令并按回车键:```bashlsusb```此命令将显示包括设备名称、供应商信息和设备标识等USB设备信息。
3. 使用 lscpu 命令lscpu命令用于显示CPU架构和详细信息。
在终端中输入以下命令并按回车键:```bashlscpu```此命令将显示处理器架构、核心数量、线程数量和缓存信息等CPU 相关信息。
三、查看内存和磁盘信息1. 使用 free 命令free命令用于显示系统的内存使用情况。
