通过端口查找进程

通过端口查找进程

AIX:

ps -ef | awk -v pid=$(rmsock `netstat -Aan|grep 11000|awk ‘NR==1 {print $1}’` tcpcb|awk ‘{print $(NF-1)}’) ‘$2==pid{print}’

解析:

1、netstat -Aan|grep 11000    –Shows the address of any protocol control blocks associated with the sockets

2、netstat -Aan|grep 11000|awk ‘NR==1 {print $1}’   –显示第一行的第一列,此处并不严谨

3、rmsock `netstat -Aan|grep 11000|awk ‘NR==1 {print $1}’` tcpcb   –除去不包含文件描述符的套接字,如果发现匹配,文件描述符和主进程状态显示给用户。如果没找到匹配,对该套接字执行异常终止操作,所以此命令不会去终止被进程hold的套接字,通过 /var/adm/rmsock.log记录“socket 0xf1000500002b5808 held by process 9699436 (java) can’t be removed.“也可以看出。

rmsock 命令除去不包含文件描述符的套接字。 它接受 socket、tcpcb、inpcb、ripcb 或 rawcb 地址并将其转换成套接字地址。 然后检查每个进程所有打开的文件以查找套接字的匹配。 如果没找到匹配,对该套接字执行异常终止操作,而不考虑套接字linger 选项的存在。套接字保留的端口号释放。如果发现匹配,文件描述符和主进程状态显示给用户。结果发送到 syslogd 并在 /var/adm/rmsock.log 文件中记录。

4、rmsock `netstat -Aan|grep 11000|awk ‘NR==1 {print $1}’` tcpcb|awk ‘{print $(NF-1)}‘  –后面一个awk是取倒数第二列

5、awk -v pid=$(rmsock `netstat -Aan|grep 11000|awk ‘NR==1 {print $1}’` tcpcb|awk ‘{print $(NF-1)}’) ‘$2==pid{print}’  –最外层awk取将取到的进程号转给参数pid,并与所有第二列进行比较,相等输入,这样做得目的除去以此进程为父进程的子进程。

 

 

LINUX:

ps -ef|awk -v pid=$(lsof -i :12003|awk ‘NR==2 {print $2}’) ‘$2==pid{print}’

解析同AIX

 

转载于:https://www.cnblogs.com/painsle/p/5712390.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108933.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android Hook技术的简单实现

    Android Hook技术的简单实现一、什么是Hook技术Android程序有一套特有的事件分发机制,都是按既定程序从前往后执行的。Hook技术就是利用反射和代理,在既定程序中插入我们自己写的程序。比如,我们想在App所有的点击事件中添加播放音乐的效果。所有控件的点击事件,分发流程都是系统已经写好了,这时我们怎么做到在其中插入我们的播放音乐的效果呢?让我们拭目以待!二、如何寻找Hook点1.尽量选择静态变量和单例对象,因为一旦创建对象,他们不容易变化,非常容易定位。2.尽量Hookpublic的对象和方法三、Hook过程选

  • vue常见错误:Invalid prop: type check failed for prop “data“. Expected Array, got Object

    vue常见错误:Invalid prop: type check failed for prop “data“. Expected Array, got Object错误截图错误分析这个错误的意思是说:无效的命名数据:“数据”类型检查失败。期望数组,得到对象,那么我们这个时候很明白了,是类型不对,但是是哪一行的呢?打开错误信息下面的详情,这个时候找到后缀是自己页面的.vue文件,看看是哪一行,就知道问题在哪了!下面的是我的:warn @ vue.esm.js?efeb:610assertProp @ vue.esm.js?efeb:1691vali…

  • outputstreamwriter.write_writevalueasstring

    outputstreamwriter.write_writevalueasstring一.输出流1.1字节输出流OutputStream在java中,字节是占1个字节,即8位字节输出流OutputStream-将指定的字节写入此输出流1.2字符流Writer在java中,字符是占2个Byte,即16位字符输出流Writer-将字符写入此输出流,字符流的操作比字节流操作好在一点,比如可以直接输出字符串1.3OutputStreamWri

  • androidmanifest.xml作用_android读取xml数据

    androidmanifest.xml作用_android读取xml数据AndroidManifest.xml是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息。但是对于这个文件,我们真正又了解多少了,还是只是停留在只会简单的配置,而不明白其中的具体含义,以及为什么要这样设置?今天就让我们来详细的学习一下这个文件里各项参数的具体含义,因为它是整个应用的入口,所以有助于我们更加…

  • android listview单击事件

    android listview单击事件今天我们来学习下listview单击事件,这在开发中是经常用的组件之一。1.新建一个项目,名为ListViewDemo。2.布置布局文件main.xmlandroid:orientation=”vertical”android:layout_width=”fill_parent”android:layout_height=”fill_parent”>

  • fizz buzz 翻译_thefizzbuzz中文翻译

    fizz buzz 翻译_thefizzbuzz中文翻译存档日期:2019年5月15日|首次发布:2010年10月26日GoogleBuzz允许用户将实时状态更新,新闻和内容发布到他们的Google帐户,并订阅其他人的类似更新。网络应用程序开发人员可以通过GoogleBuzzRESTAPI访问和搜索此内容。本文介绍了GoogleBuzzAPI,并在PHP应用程序上下文中对其进行了演示,并说明了如何在GoogleBuzz上…

    2022年10月15日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号