ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. exec
ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. »ç¿ë¹ý#include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char * const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); ¼³¸í
exec°è¿ ÇÔ¼öµéÀº ÇöÀçÀÇ ÇÁ·Î¼¼½º À̹ÌÁö¸¦ »õ·Î¿î ÇÁ·Î¼¼½º À̹ÌÁö·Î µ¤¾î¾´´Ù.
»õ·Î¿î ÇÁ·Î¼¼½ºÀÇ À̹ÌÁö´Â ½ÇÇà ÆÄÀÏÀ» ½ÇÇàÇØ¼ ¾ò´Â´Ù. ±×·¯¹Ç·Î À̵é ÇÔ¼ö´Â °øÅëÀûÀ¸·Î ½ÇÇàÇÒ ÆÄÀÏÀÇ °æ·ÎÁ¤º¸¸¦ °¡Áø´Ù.
execl(), execlp(), execle() ÇÔ¼ö´Â ¸Å°³ º¯¼ö arg0, arg1, ..., argn À» °¡Áø´Ù. ÀÌ ¸Å°³ º¯¼ö´Â ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÎÀÚ·Î ³Ñ¾î°£´Ù. ´õ ÀÌ»ó ¸Å°³º¯¼ö°¡ ¾øÀ» ¶§´Â ¹Ýµå½Ã NULLÀ» ¸Å°³ º¯¼ö·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ù¹øÂ° ¸Å°³ º¯¼ö´Â °æ·Î¸¦ Æ÷ÇÔÇÑ ½ÇÇàÆÄÀÏÀÇ À̸§ÀÌ´Ù.
execv()¿Í execvp ÇÔ¼ö´Â ¸¶Áö¸· ¿ø¼Ò°¡ NULLÀ» °¡¸®Å°´Â ¹è¿·Î ÇÁ·Î±×·¥ ½ÇÇàÀÎÀÚ¸¦ ³Ñ±ä´Ù. ù¹øÂ° ¸Å°³ º¯¼ö´Â °æ·Î¸¦ Æ÷ÇÔÇÑ ½ÇÇà ÇÁ·Î±×·¥ÀÇ À̸§ÀÌ´Ù. ¹è¿ÀÇ ¸¶Áö¸· ¿ø¼Ò´Â ¹Ýµå½Ã NULLÀ̾î¾ß ÇÑ´Ù.
execle()ÇÔ¼ö´Â ½ÇÇà ÇÁ·Î±×·¥ À̸§°ú ½ÇÇàÀÎÀÚ¿Ü¿¡ ȯ°æº¯¼öµµ ³Ñ±æ ¼ö ÀÖ´Ù. ȯ°æ º¯¼ö °ªÀº ¹è¿·Î ³Ñ¾î°£´Ù. ¹è¿ÀÇ ¸¶Áö¸·Àº ¹Ýµå½Ã NULLÀ̾î¾ß ÇÑ´Ù. ¹Ýȯ °ª
execl ÇÔ¼ö´Â º¸Åë return À» ÇÏÁö ¾Ê´Â´Ù. ¸¸¾à returnÀ» ÇÑ´Ù¸é ¿¡·¯°¡ ÀÏ¾î³ °æ¿ì·Î -1 À» ³Ñ°ÜÁØ´Ù. ¿¹Á¦
execlÇÔ¼ö·Î ½© ÇÁ·Î±×·¥ ½ÇÇà
#include <unistd.h> int main() { execl("/bin/sh", "/bin/sh", NULL); } |
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|