system(3)
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



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

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=system">system</a>(3)

1장. system(3)

shell ¸í·É¾î ½ÇÇà±â


1.1. »ç¿ë¹ý

#include <stdlib.h>

int system(const char *string);
		


1.2. ¼³¸í

system() ÇÔ¼ö´Â /bin/sh -c string¸¦ È£ÃâÇÏ¿© string¿¡ ÁöÁ¤µÈ ¸í·É¾î¸¦ ½ÇÇàÇϰí, ¸í·É¾î°¡ ³¡³­ÈÄ ¹ÝȯÇÑ´Ù. ¸í·É¾î°¡ ½ÇÇൿ¾È, SIGCHLD´Â ºí·°µÇ¸ç, SIGINT, SIGQUIT´Â ¹«½ÃµÈ´Ù. system() ÇÔ¼ö´Â ±âº»ÀûÀ¸·Î fork()¿Í execve()ÀÇ Á¶ÇÕÀÀ¿ëÀÌ´Ù.


1.3. ¹Ýȯ°ª

¸¸¾à /bin/sh¸¦ ½ÇÇà½Ã۱â À§ÇÑ execve()ÀÇ È£ÃâÀÌ ½ÇÆÐÇß´Ù¸é 127ÀÌ ¸®ÅϵǸç, ´Ù¸¥ ¿¡·¯°¡ ÀÖ´Ù¸é -1, ±×·¸Áö ¾Ê´Ù¸é ¸í·É¾îÀÇ ¸®ÅÏÄڵ尡 ¹ÝȯµÈ´Ù.

string°ªÀÌ NULLÀ̰í, system()ÀÌ shellÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù¸é 0ÀÌ ¾Æ´Ñ °ªÀ» ±×·¸Áö ¾Ê´Ù¸é 0À» ¹ÝȯÇÑ´Ù.

system()Àº ´Ù¸¥ wait()»óÅÂÀÇ ´Ù¸¥ ÀڽĿ¡°Ô ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù.


1.4. ¿¹Á¦

#include <unistd.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    int i = 0;
	int retval;
    retval = system("ls -al");
    printf("Exit Status %d\n", retval);
}
		


1.5. Âü°í¹®Çå

  1. fork()

  2. execl()

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