linux下用ps -ef |grep ,结果哪个是进程号

linux下用ps -ef |grep ,结果哪个是进程号,第1张

root 13091 12287 0 07:20 pts/1 00:00:00 grep oscard中的第二列【13091】是进程号。

ps命令将某个进程显示出来,LINUX下最常用的也是非常强大的进程查看命令

grep命令是查找,全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。这是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

中间的 | 是管道命令 是指ps命令与grep同时执行

扩展资料:

PS命令其中各项的内容意思如下:

1、参数e: 显示所有程序。

2、参数f:  显示UID,PPIP,C与STIME栏位

3、UID: 用户ID、但输出的是用户名

4、PID:进程的ID

5、PPID:父进程ID

6、C: 进程占用CPU的百分比

7、STIME : 进程启动到现在的时间

8、TTY :该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。

9、CMD:命令的名称和参数

用top -u 命令查看进程以及PID。

命令如下:

$ top -u

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

lsof -i :port_number |grep "(LISTEN)"

-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。

如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。

2)使用netstat 命令

大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。

执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。

和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。

下面以1521端口来看怎么查找到该程序,我们使用下面的命令:

netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'

在这里使用awk来匹配第4个字段的模式是为了避免误判。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7676817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存