{"id":2092,"date":"2023-09-04T18:26:02","date_gmt":"2023-09-04T09:26:02","guid":{"rendered":"https:\/\/www.itchefblog.com\/?p=2092"},"modified":"2023-09-04T18:26:02","modified_gmt":"2023-09-04T09:26:02","slug":"%eb%8b%a4%eb%a5%b8-%ec%84%b8%ec%85%98%ec%97%90%ec%84%9c-%ec%8b%a4%ed%96%89%ec%a4%91%ec%9d%b8-%ed%94%84%eb%a1%9c%ec%84%b8%ec%8a%a4%ec%97%90-%ec%9d%b8%ed%84%b0%ec%85%89%ed%8a%b8-%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.itchefblog.com\/?p=2092","title":{"rendered":"\ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 \ud504\ub85c\uc138\uc2a4\uc5d0 \uc778\ud130\uc149\ud2b8 \ud558\uae30"},"content":{"rendered":"\n<p>\ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0\uc11c \ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 \ud504\ub85c\uc138\uc2a4\uc5d0 \uc811\uadfc\ud574\uc57c\ud560 \uc77c\uc774 \uc0dd\uacbc\ub2e4.<br>\uc774\ub9ac\uc800\ub9ac \uc54c\uc544\ubcf4\ub2c8 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\ub4e4\uc774 \uc788\uc5c8\ub2e4. (\ub300\uccb4 \uc548\ub418\ub294\uac8c \ubb50\ub0d0..)<\/p>\n\n\n\n<ol><li><strong>strace<\/strong>:<ul><li><code>strace<\/code>\ub294 \uc2dc\uc2a4\ud15c \ud638\ucd9c \ubc0f \uc2dc\uadf8\ub110\uc744 \ucd94\uc801\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4. \uc774 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uba74 \ud504\ub85c\uc138\uc2a4\uac00 \uc2dc\uc2a4\ud15c\uc5d0\uac8c \ubb34\uc5c7\uc744 \uc694\uccad\ud558\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd9c\ub825\uc744 \uc778\ud130\uc149\ud2b8\ud558\ub824\uba74 <code>write()<\/code> \ub610\ub294 <code>writev()<\/code> \uac19\uc740 \uc2dc\uc2a4\ud15c \ud638\ucd9c\uc744 \uc8fc\ubaa9\ud558\uba74 \ub429\ub2c8\ub2e4.<\/li><li>\uc608:bashCopy code<code>strace -e write -p PID <\/code>\uc704 \uba85\ub839\uc740 <code>PID<\/code>\ub85c \uc9c0\uc815\ub41c \ud504\ub85c\uc138\uc2a4\uc758 <code>write()<\/code> \uc2dc\uc2a4\ud15c \ud638\ucd9c\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud569\ub2c8\ub2e4.<\/li><\/ul><\/li><li><strong>\/proc<\/strong> \ud30c\uc77c \uc2dc\uc2a4\ud15c:<ul><li><code>\/proc\/PID\/fd\/1<\/code>\uc740 \ud45c\uc900 \ucd9c\ub825\uc5d0 \uc5f0\uacb0\ub41c \ud30c\uc77c \ub514\uc2a4\ud06c\ub9bd\ud130\uc785\ub2c8\ub2e4.<\/li><li><code>cat \/proc\/PID\/fd\/1<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud574\ub2f9 \ud504\ub85c\uc138\uc2a4\uc758 \ud45c\uc900 \ucd9c\ub825\uc744 \uc77d\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc774 \ubc29\ubc95\uc740 \uc2e4\uc2dc\uac04 \ucd9c\ub825 \uc2a4\ud2b8\ub9bc\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li><\/ul><\/li><li><strong>screen<\/strong> \ub610\ub294 <strong>tmux<\/strong>:<ul><li><code>screen<\/code>\uc774\ub098 <code>tmux<\/code>\ub97c \uc0ac\uc6a9\ud558\uba74 \uc5ec\ub7ec \ud130\ubbf8\ub110 \uc138\uc158\uc744 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><li>\ud504\ub85c\uc138\uc2a4\ub97c <code>screen<\/code>\uc774\ub098 <code>tmux<\/code> \uc138\uc158 \ub0b4\uc5d0\uc11c \uc2e4\ud589\ud558\uba74, \ud574\ub2f9 \uc138\uc158\uc744 \ub2e4\ub978 \ud130\ubbf8\ub110\uc5d0\uc11c\ub3c4 \uc5f0\uacb0\ud558\uc5ec \uac19\uc740 \ucd9c\ub825\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ul><\/li><li><strong>Named pipes (FIFO)<\/strong>:<ul><li>Named pipe\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud504\ub85c\uc138\uc2a4\uc758 \ucd9c\ub825\uc744 \ub2e4\ub978 \ud504\ub85c\uc138\uc2a4\ub85c \uc804\ub2ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><li>\uc608\uc2dc:bashCopy code<code>mkfifo \/tmp\/myfifo command &gt; \/tmp\/myfifo # In Session 1 cat \/tmp\/myfifo # In Session 2<\/code><\/li><\/ul><\/li><li><strong>\ub9ac\ub2e4\uc774\ub809\uc158<\/strong>:<ul><li>\ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 \ud504\ub85c\uc138\uc2a4\uc758 \ucd9c\ub825\uc744 \ud30c\uc77c\ub85c \ub9ac\ub2e4\uc774\ub809\ud2b8\ud558\uace0, \ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \ud574\ub2f9 \ud30c\uc77c\uc744 <code>tail -f<\/code>\ub85c \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \ubc29\ubc95\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ul><\/li><\/ol>\n\n\n\n<p>\uc8fc\uc758: \ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 \ud504\ub85c\uc138\uc2a4\uc758 \ucd9c\ub825\uc744 \uc778\ud130\uc149\ud2b8\ud558\ub824\uba74 \uc801\uc808\ud55c \uad8c\ud55c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ub610\ud55c <code>strace<\/code> \uac19\uc740 \ub3c4\uad6c\ub294 \ud504\ub85c\uc138\uc2a4\uc5d0 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\uc73c\ubbc0\ub85c \uc2e4\uc81c \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c\ub294 \uc8fc\uc758\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0\uc11c \ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 \ud504\ub85c\uc138\uc2a4\uc5d0 \uc811\uadfc\ud574\uc57c\ud560 \uc77c\uc774 \uc0dd\uacbc\ub2e4.\uc774\ub9ac\uc800\ub9ac \uc54c\uc544\ubcf4\ub2c8 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\ub4e4\uc774 \uc788\uc5c8\ub2e4. (\ub300\uccb4 \uc548\ub418\ub294\uac8c \ubb50\ub0d0..) strace: strace\ub294 \uc2dc\uc2a4\ud15c \ud638\ucd9c \ubc0f \uc2dc\uadf8\ub110\uc744 \ucd94\uc801\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4. \uc774 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uba74 \ud504\ub85c\uc138\uc2a4\uac00 \uc2dc\uc2a4\ud15c\uc5d0\uac8c \ubb34\uc5c7\uc744 \uc694\uccad\ud558\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd9c\ub825\uc744 \uc778\ud130\uc149\ud2b8\ud558\ub824\uba74 write() \ub610\ub294 writev() \uac19\uc740 \uc2dc\uc2a4\ud15c \ud638\ucd9c\uc744 \uc8fc\ubaa9\ud558\uba74 \ub429\ub2c8\ub2e4. \uc608:bashCopy codestrace -e write -p PID \uc704 \uba85\ub839\uc740 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,4],"tags":[879,91,601,853,877,878],"_links":{"self":[{"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/posts\/2092"}],"collection":[{"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2092"}],"version-history":[{"count":1,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/posts\/2092\/revisions"}],"predecessor-version":[{"id":2093,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=\/wp\/v2\/posts\/2092\/revisions\/2093"}],"wp:attachment":[{"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itchefblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}