I want to get full process name from struct task_struct
. The comm
field stores only 16 characters, while process name can be longer. Is there any way t
Did you mean exe file name? You can get the exe of current process as follows :
char *pathname,*p;
mm = current->mm;
if (mm) {
down_read(&mm->mmap_sem);
if (mm->exe_file) {
pathname = kmalloc(PATH_MAX, GFP_ATOMIC);
if (pathname) {
p = d_path(&mm->exe_file->f_path, pathname, PATH_MAX);
/*Now you have the path name of exe in p*/
}
}
up_read(&mm->mmap_sem);
}
Just use current->comm
and you can see the name.
Example:
printk(KERN_ALERT "THREAD NAME = %s\n", current->comm);