Messages in this thread | | | Date | Mon, 11 Jul 2011 11:23:44 -0700 | Subject | Re: how to find a task through name faster? | From | Muthu Kumar <> |
| |
Let me ask a trivial question: Should this be done in kernel? Can't you push it to user space and walk the /proc to find if the process is there.
On Mon, Jul 11, 2011 at 10:57 AM, loody <miloody@gmail.com> wrote: > hi: > > 2011/7/12 Chris Friesen <chris.friesen@genband.com>: >> On 07/11/2011 10:52 AM, loody wrote: >>> >>> hi all: >>> I found a way to find a task I need by name, test, as below: >>> for_each_process(task) { >>> if(strcmp(task->comm, "test") >>> printk(“%s[%d]\n”, task->comm, task->pid); >>> } >>> >>> But it is time-consuming to do so if I periodically want to know >>> whether "test" exist or not. >>> is there better way to do so? > > Thanks for your reply > >> The names of tasks isn't indexed in any way so the above is about as good as >> it gets if that's all the information you have. > > actually, I only have the name for searching, since the thread start > and finish periodically, pid of it will change dynamically. If I save > the pid, next time it will change and be no use to me >> >> One common way around that is to store the PID in a file somewhere at >> startup. Then you can look in the file and see if that PID is present and >> check "task->comm" to make sure it's what you expect. This saves having to >> search through all tasks. >> >> Chris > > > -- > Regards, > -- > 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/ > -- 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/
| |