读书人

依据进程号获取进程名函数

发布时间: 2012-09-09 09:27:54 作者: rapoo

根据进程号获取进程名函数

static gchar *
pid_to_binary_name (gint pid)
{
? gchar * cmd_f;
? FILE? * fcmd;

? if (pid <= 0)
??? return NULL;

? cmd_f = g_strdup_printf ("/proc/%d/cmdline", pid);
? fcmd? = fopen (cmd_f, "r");

? g_free (cmd_f);

? if (fcmd)
??? {
????? gchar buf[256];
????? if (fgets (buf, sizeof (buf), fcmd))
??????? {
????????? /*
?????????? * 0-terminate at first whitespace.
?????????? */
????????? gchar *n = &buf[0];
????????? while ((n < &buf[0] + sizeof(buf) - 1) && *n && !g_ascii_isspace (*n))
??????????? ++n;

????????? *n = 0;

????????? return g_path_get_basename (buf);
??????? }

????? fclose (fcmd);
??? }

? return NULL;
}

读书人网 >操作系统

热点推荐