lkml.org 
[lkml]   [1998]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: /proc/sys/kernel/corename
From
Date
>>>>> "Simon" ==   <simius@algonet.se> writes:

Simon> Problem values:

Simon> coredumping processes: args,elapsed time
Simon> user owning the coredumping processes: username,groupname,tty

task_struct's mm member, of type mm_struct has the members arg_start
and arg_end, from which you can get the arguments.

task_struct's start_time should help for elaped time, unless you want
the user time and/or system time; for those use the per_cpu_utime[]
and per_cpu_stime[] arrays.

for the username and groupname, you'll have to settle for uid and gid
(uid, euid, suid, fsuid, gid, egid, sgid and fsgid are all in
task_struct).

for the tty, use the struct tty_struct tty member of task_struct. It
looks like tty_name(current->tty,buf) will put the tty's name into the
buffer buf.

Also cf <linux/elfcore.h> and linux/fs/binfmt_elf.c.

From the latter, CT_TO_SECS(current->times.tms_utime) and
CT_TO_USECS(current->times.tms_utime) give the seconds and useconds of
the user time; the same works for stime, cutime and cstime (c for
cumulative, I presume).

Also from there, use copy_from_user to copy (current->mm->arg_end -
current->mm->arg_start) octets from (const char *)
current->mm->arg_start to get at the arguments.

-JimC
--
James H. Cloos, Jr. <http://www.jhcloos.com/cloos/pgp_public_key.txt>
<cloos@jhcloos.com> E9E9 F828 61A4 6EA9 0F2B 63E7 997A 9F17 ED7D AEA6

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.296 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site