Linux中 ps aux |grep java 为什么会将 grep --color=auto java 也显示出来?原理是什么?

作者&投稿:蔺削 (若有异议请与网页底部的电邮联系)
linux环境下 ps命令查看找不到java进程,使用ps-ef|grep java可以找到java进程,为什么?~

ps命令默认只显示当前用户当前控制台的进程,其他用户的以及后台的进程看不到,需要使用
ps aux
或者
ps -ef
等形式才可以,这是ps命令的功能选项的问题,与你的java进程是否被中断无关。

ps
aux
是用BSD的格式来显示
java这个进程
显示的项目有:USER
,
PID
,
%CPU
,
%MEM
,
VSZ
,
RSS
,
TTY
,
STAT
,
START
,
TIME
,
COMMAND
ps
-ef
是用标准的格式显示java这个进程
显示的项目有:UID
,
PID
,
PPID
,
C
,
STIME
,
TTY
,
TIME
,
CMD

为什么ps aux |grep java会出现grep --color=auto java的结果,因为grep本身也是一个进程,ps会将grep进程的信息也显示出来。
为什么ps aux |grep [j]ava就不会出现grep进程本身,因为此时grep进程的参数是grep --color=auto [j]ava,而grep [j]ava正则匹配的是'java'这个字符串,'[j]ava'这个正则表达式并不能匹配'[j]ava'这个字符串,所以自然不会出现grep进程本身。

ps aux 这个命令表示:完整的显示当前用户的所有进程
| 管道命令,左边的输出作为右边的输入,也就是 完整的显示当前用户的所有进程作为右边grep命令的输入。

grep java 表示: 查找文本并显示匹配到的行,只有参数--color=auto表示默认高了显示匹配到的字符串。也可以设置其他颜色,没有这个参数当然是默认的颜色了。

更加详细的介绍,请百度 linux ps 和 linux | 和 linux grep 这3个命令你仔细研究下也就明白了

这有什么好纠结的,进程列表中的文本是[j]ava,多了中括号
你肯定匹配不到java这个字符串

系统默认grep定义了别名,通过alias可以查看。alias grep='grep --color=auto'

[j]ava 其实是正则表达式,匹配的是 java字符串,不匹配 [j]ava 字符串。


新密市18777677549: 如何查看linux下进程状态 -
皮中小儿: 首先我们需要打开终端,本经验以Fedora操作系统为例,其他的操作系统可能略有不同.打开终端之后我们输入ps,它就是我们今天的主角,ps是linux操作系统中最基本同时也是非常强大的进程查看命令,如果你对此命令不是十分了解,我们...

新密市18777677549: 在Linux Shell程序中输入ps aux | grep top是什么意思? -
皮中小儿: 常用ps命令参数 进程查看命令 需掌握一些最常用的命令参数就可以了. 最常用的三个参数是u、a、x. a 显示终端上的所有进程,包括其他用户的进程. x 显示没有控制终端的进程 u user 用户名 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本 | 是管道符号 表示前面的命令结果作为后面的命令输入所以整个表达式表示 显示所有包含其他使用者的进程并找其中包含top名字的进程

新密市18777677549: linux中如何查看某一进程的启动时间 -
皮中小儿: 在Linux下,如果需要查看进程的启动时间, 常用ps aux命令,但是ps aux命令的缺陷在于只能显示时间到年、日期、或者时间, 无法具体到年月日时分秒.如果需要查看某个进程的具体启动时间, 使用 ps -p PID -o lstart

新密市18777677549: linux 系统中得ps命令用法. -
皮中小儿: ps命令 要对进程进行监测和控制,首先必须要 了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令 可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、...

新密市18777677549: 请问这是Linux的什么命令ps aux | grep `cat /tmp/.X0 - lock`,谢谢 -
皮中小儿: ps aux查看系统进程的命令,这整个命令就是将查看系统进程的结果通过管道传送到grep命令,由grep命令查询系统进程里面包含cat /tmp/.X0-lock的进程

新密市18777677549: linux 下查看进程用什么命令 -
皮中小儿: linux 下查看进程可以使用的命令: 1、ps命令查找与进程相关的PID号: 2、ps a 显示现行终端机下的所有程序,包括其他用户的程序. 3、ps -A 显示所有程序. 4、ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻...

新密市18777677549: linux 下 ps - aux 命令
皮中小儿: ps -aux的写法格式存在问题.带不带管道都会存在warning的提示,你可以仔细试试. 原因可以参考man下面的内容,man ps : Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all ...

新密市18777677549: linux命令ps aux|grep java和ps - ef|grep java 有什么区别? -
皮中小儿: ps aux 是用BSD的格式来显示 java这个进程 显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND ps -ef 是用标准的格式显示java这个进程 显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD

新密市18777677549: linux 命令ps - aux 查看进程所占内存大小,怀疑一个进程存在内存泄露,每个一段时间,内存大小增加4kB -
皮中小儿: (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存.RSS列 表示, 程序占用了多少物理内存.虚拟内存可以不用考虑,它并不占用实际物理内存.(2). top 命令也可以其中 VIRT(或VSS)列 表示,程序占用了多少虚拟内存. 同 ps aux 中的 VSZ列RES列 表示, 程序占用了多少物理内存.同 ps aux 中的RSS列

新密市18777677549: 如何在Linux中查看所有正在运行的进程 -
皮中小儿: Linux中一切皆文件.目录是文件,文件是文件,设备也是文件.查看Linux中正在运行的进程的命令有一下几个:top 动态查看Linux系统的进程情况.ps -elf 或者ps -aux 查看系统系统进程 netstat -tanlpu 另外还有查看a文件是那个进程打开的===》lsof a 更多Linux系统知识可以参考 《Linux就该这样学》,Linux的知识是需要多学多练的.做运维Linux是非常重要的,好好学吧,加油

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网