Messages in this thread | | | Date | Mon, 11 Jul 2011 11:51:18 -0600 | From | Chris Friesen <> | Subject | Re: how to find a task through name faster? |
| |
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?
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.
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
-- Chris Friesen Software Developer GENBAND chris.friesen@genband.com www.genband.com -- 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/
| |