ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>isproc



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

  1. isproc
  2. ÇÁ·Î¼¼½º°¡ »ì¾ÆÀÖ´ÂÁö È®ÀÎÇÏ´Â ÇÔ¼ö
  3. yundream
  4. Version 0.2
  5. 2005/05/17


¼³¸í

ÇÁ·Î¼¼½º°¡ »ì¾ÆÀÖ´ÂÁö È®ÀÎÇϸç, À̸¦ À§Çؼ­ /proc/PID¸¦ °Ë»çÇÑ´Ù. PID¸¸À¸·Î ÇÒ°æ¿ì ÇÁ·Î¼¼½ºÀÇ »ýÁ¸¿©ºÎ¸¦ È®ÀÎÇÏ´Â°Ô ºÒÈ®½ÇÇÒ ¼ö ÀÖÀ½À¸·Î, ÇÁ·Î¼¼½º¸íÀÌ ÀÏÄ¡ÇÏ´ÂÁö ¿©ºÎ±îÁö È®ÀÎÇÑ´Ù.

»ç¿ë¹æ¹ý

int isproc(int pid, char *exe); 
 
  1. pid : °Ë»çÇϰíÀÚ ÇÏ´Â ÇÁ·Î¼¼½ºÀÇ PID
  2. exe : °Ë»çÇϰíÀÚ ÇÏ´Â ÇÁ·Î¼¼½ºÀÇ À̸§
  3. return : ÇÁ·Î¼¼½º°¡ Á¸ÀçÇϸé 1, ±×·¸Áö ¾ÊÀ¸¸é 0À» ¸®ÅÏÇÑ´Ù.

exe°¡ NULLÀϰæ¿ì PID¸¸À» °¡Áö°í ÇÁ·Î¼¼½º »ýÁ¸¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.

int main(int argc, char **argv) 
{ 
  int status; 
  status = isproc(atoi(argv[1]), argv[2]); 
  printf("file is %d\n", status); 
} 
 

ÄÚµå

int isproc(int pid, char *exe) 
{ 
  char procfile[80]; 
  char null[40]; 
  char exename[80]; 
  FILE *fp; 
  sprintf(procfile, "/proc/%d/stat", pid); 
 
  if (access(procfile, F_OK) != 0) 
  { 
    return 0; 
  } 
  if (exe == NULL) 
  { 
    return 1; 
  } 
  if ((fp = fopen(procfile, "r")) == NULL) 
    return 0; 
  fscanf(fp, "%s %s",null, exename); 
  fclose(fp); 
  if (strstr(exename, exe) != NULL) 
    return 1; 
  return 0; 
} 
 

ÅäÀÇ

  1. Äڵ带 Á»´õ ±ò²ûÇÏ°Ô ´ÙµëÀÚ.
  2. return °ªÀ» »óȲ¿¡ µû¶ó ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÒ Çʿ䰡 ÀÖ´Ù.

º¯°æ»çÇ×


2004/01/08

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.