lkml.org 
[lkml]   [2010]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: open sockets from task_struct
    Get the Linux kernel source and look at what the procfs filesystem is 
    doing to get that information. Look under fs/proc.
    fs/proc/base.c(2508) seems to contain the inode structures for
    /proc/pid/fd and /proc/pid/fdinfo, locate the inode operations
    structure and locate the functions. Drill down through the function
    calls and you'll eventually find how to read what
    file handles are open. A quick glance tells me that the calls go several
    layers deep including a call through a function pointer passed in one of
    the parameters, "instantiate", hopefully that won't be a problem for you.
    > On Sun, Apr 18, 2010 at 12:53 PM, Jonathan Campbell<jon@nerdgrounds.com> wrote:
    >
    >> I know that on the user-space side any open handles can be seen in the
    >> /proc/<pid>/fd directory (<pid> is whatever process you're interested in).
    >> Assuming you're talking about reading this from kernel space, I'd look at
    >> what the procfs filesystem is doing and learn from that.
    >> Sockets and block/char devices are listed like any other file, the list is
    >> based on file handles.
    >>
    >>> I have task_struct structure , how to find all the opened files ? how
    >>> to find opened sockets ?
    >>>
    >>> Thanks,
    >>> Ratheesh
    >>> --
    >>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    >>> the body of a message to majordomo@vger.kernel.org
    >>> More majordomo info at http://vger.kernel.org/majordomo-info.html
    >>> Please read the FAQ at http://www.tux.org/lkml/
    >>>
    >>>
    >>>
    >>>
    >>
    >>
    > I need it in kernel space and i am using 2.6.29.4 kernel .. could you
    > please guide a little ?
    >
    >
    >



    \
     
     \ /
      Last update: 2010-04-18 10:15    [W:0.023 / U:62.756 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site