首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

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

2012-09-09 
根据进程号获取进程名函数static gchar *pid_to_binary_name (gint pid){? gchar * cmd_f? FILE? * fcmd

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

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;
}

热点排行