ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转]从进程号找到IP地址

[转]从进程号找到IP地址

原创 Linux操作系统 作者:shuyingxi 时间:2013-07-15 23:03:21 0 删除 编辑
首页上看到的一个不错的小技巧,收藏一下

今天有人问如果在linux下top显示某个进程CPU很忙,如果从spid找到对应的IP地址。

实际上不过是一个反推的过程,一些图形化工具很容易知道termnial,machine,从这些获得IP地址还是需要一点功夫的。


一般我以前是ping -a 机器名.

现在我一般使用系统触发器
CREATE OR REPLACE TRIGGER SYS.on_logon_trigger
   AFTER LOGON ON DATABASE
DECLARE
   v_client_info   v$session.client_info%TYPE;
   v_sid           v$session.SID%TYPE;
BEGIN
   SELECT SYS_CONTEXT ('userenv', 'ip_address')
     INTO v_client_info
     FROM DUAL;

   DBMS_APPLICATION_INFO.set_client_info (v_client_info);
   --增加的代码
   DBMS_SESSION.set_identifier (v_client_info);

   --EXECUTE IMMEDIATE 'alter session set tracefile_identifier = ''' || REPLACE (NVL (v_client_info, 'local'), '.', '_') || '''';
END;
/


--这样v$session的client_info字段就有IP地址了。[注:如果为NULL是服务器]


实际上还有一个简单的方法就是使用lsof命令:

lsof -i :1521 -n -P | grep

-n 不做网络名转换。
-P 不做端口名称转换。

转自:
http://space.itpub.net/267265/viewspace-765906

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/438414/viewspace-766331/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-12-21

  • 博文量
    48
  • 访问量
    145736