diff options
Diffstat (limited to 'po/ko/man2/vfork.2.po')
-rw-r--r-- | po/ko/man2/vfork.2.po | 634 |
1 files changed, 634 insertions, 0 deletions
diff --git a/po/ko/man2/vfork.2.po b/po/ko/man2/vfork.2.po new file mode 100644 index 00000000..860dca31 --- /dev/null +++ b/po/ko/man2/vfork.2.po @@ -0,0 +1,634 @@ +# Korean translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# 정강훈 <skyeyes@soback.kornet.net>, 2000. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-09 15:51+0100\n" +"PO-Revision-Date: 2000-09-16 08:57+0900\n" +"Last-Translator: 정강훈 <skyeyes@soback.kornet.net>\n" +"Language-Team: Korean <translation-team-ko@googlegroups.com>\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "vfork" +msgstr "vfork" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "2023년 10월 31일" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy, no-wrap +#| msgid "Linux man-pages 6.03" +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.03" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "이름" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "vfork - create a child process and block parent" +msgstr "vfork - 자식 프로세스를 만들고 부모 프로세스를 봉쇄한다." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "라이브러리" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "표준 C 라이브러리 (I<libc>, I<-lc>)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "요약" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>unistd.hE<gt>>\n" +msgstr "B<#include E<lt>unistd.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<pid_t vfork(void);>\n" +msgstr "B<pid_t vfork(void);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<vfork>():" +msgstr "B<vfork>():" + +#. || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +" Since glibc 2.12:\n" +" (_XOPEN_SOURCE E<gt>= 500) && ! (_POSIX_C_SOURCE E<gt>= 200809L)\n" +" || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n" +" || /* glibc E<lt>= 2.19: */ _BSD_SOURCE\n" +" Before glibc 2.12:\n" +" _BSD_SOURCE || _XOPEN_SOURCE E<gt>= 500\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "설명" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "Description" +msgid "Standard description" +msgstr "설명" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "(From XPG4 / SUSv2 / POSIX draft.) The I<vfork>() function has the same " +#| "effect as I<fork>(), except that the behaviour is undefined if the " +#| "process created by I<vfork>() either modifies any data other than a " +#| "variable of type pid_t used to store the return value from I<vfork>(), or " +#| "returns from the function in which I<vfork>() was called, or calls any " +#| "other function before successfully calling I<_exit>() or one of the " +#| "I<exec> family of functions." +msgid "" +"(From POSIX.1) The B<vfork>() function has the same effect as B<fork>(2), " +"except that the behavior is undefined if the process created by B<vfork>() " +"either modifies any data other than a variable of type I<pid_t> used to " +"store the return value from B<vfork>(), or returns from the function in " +"which B<vfork>() was called, or calls any other function before " +"successfully calling B<_exit>(2) or one of the B<exec>(3) family of " +"functions." +msgstr "" +"(XPG4 / SUSv2 / POSIX 초안에서.) I<vfork>()함수는 I<vfork>()에 의해 생성된 " +"프로세스가 I<vfork>()의 반환 값을 저장하기 위해 사용된 pid_t 타입의 변수외 다" +"른 데이터를 수정하거나, I<vfork>()를 호출하기 전에 함수에서 리턴되거나, " +"I<_exit>()를 성공적으로 호출하기 전에 다른 함수를 호출하거나, I<exec> 함수 계" +"열중 하나를 호출할경우 행동을 정의할수 없다는 것을 제외하고는 I<fork>()와 같" +"은 효과를 가진다." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "Description" +msgid "Linux description" +msgstr "설명" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<vfork>(), just like B<fork>(2), creates a child process of the calling " +"process. For details and return value and errors, see B<fork>(2)." +msgstr "" +"B<fork>(2)처럼, B<vfork>()는 호출 프로세스의 자식 프로세스를 만든다. 세부 사" +"항과 반환 값 그리고 에러는 B<fork>(2)를 참조해라." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<vfork>() is a special case of B<clone>(2). It is used to create new " +"processes without copying the page tables of the parent process. It may be " +"useful in performance-sensitive applications where a child is created which " +"then immediately issues an B<execve>(2)." +msgstr "" +"B<vfork>() 는 B<clone>(2)의 특별한 경우이다. 이 함수는 부모 프로세스의 페이" +"지 테이블을 복사하지 않고 새 프로세스를 만든다. 이 함수는 자식이 B<execve>()" +"후에 즉시 만들어져야 하는 성능에 민감한 응용 프로그램에서는 유용하다." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<vfork()> differs from fork in that the parent is suspended until the " +#| "child makes a call to B<execve>(2) or B<_exit>(2). The child shares all " +#| "memory with its parent, including the stack, until I<execve()> is issued " +#| "by the child. The child must not return from the current function or " +#| "call I<exit()>, but may call I<_exit()>." +msgid "" +"B<vfork>() differs from B<fork>(2) in that the calling thread is suspended " +"until the child terminates (either normally, by calling B<_exit>(2), or " +"abnormally, after delivery of a fatal signal), or it makes a call to " +"B<execve>(2). Until that point, the child shares all memory with its " +"parent, including the stack. The child must not return from the current " +"function or call B<exit>(3) (which would have the effect of calling exit " +"handlers established by the parent process and flushing the parent's " +"B<stdio>(3) buffers), but may call B<_exit>(2)." +msgstr "" +"B<vfork()> 는 자식이 B<execve>(2)나 B<_exit>(2)를 호출할때까지 부모가 일시 중" +"지되기 때문에 fork와는 다르다. 자식 프로세스는 I<execve()> 가 자식에 의해 실" +"행될때까지 스택을 포함하여 부모와 모든 메모리를 공유한다. 자식 프로세스는 현" +"재 함수나 I<exit()>호출에서 반환해서는 않되지만 I<_exit()>호출에서는 된다." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"As with B<fork>(2), the child process created by B<vfork>() inherits copies " +"of various of the caller's process attributes (e.g., file descriptors, " +"signal dispositions, and current working directory); the B<vfork>() call " +"differs only in the treatment of the virtual address space, as described " +"above." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Signals sent to the parent arrive after the child releases the parent's " +"memory (i.e., after the child terminates or calls B<execve>(2))." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "Description" +msgid "Historic description" +msgstr "설명" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Under Linux, I<fork>() is implemented using copy-on-write pages, so the " +#| "only penalty incurred by I<fork>() is the time and memory required to " +#| "duplicate the parent's page tables, and to create a unique task structure " +#| "for the child. However, in the bad old days a I<fork()> would require " +#| "making a complete copy of the caller's data space, often needlessly, " +#| "since usually immediately afterwards an I<exec>() is done. Thus, for " +#| "greater efficiency, BSD introduced the B<vfork> system call, that did not " +#| "fully copy the address space of the parent process, but borrowed the " +#| "parent's memory and thread of control until a call to I<execve>() or an " +#| "exit occurred. The parent process was suspended while the child was using " +#| "its resources. The use of vfork was tricky - for example, not modifying " +#| "data in the parent process depended on knowing which variables are held " +#| "in a register." +msgid "" +"Under Linux, B<fork>(2) is implemented using copy-on-write pages, so the " +"only penalty incurred by B<fork>(2) is the time and memory required to " +"duplicate the parent's page tables, and to create a unique task structure " +"for the child. However, in the bad old days a B<fork>(2) would require " +"making a complete copy of the caller's data space, often needlessly, since " +"usually immediately afterward an B<exec>(3) is done. Thus, for greater " +"efficiency, BSD introduced the B<vfork>() system call, which did not fully " +"copy the address space of the parent process, but borrowed the parent's " +"memory and thread of control until a call to B<execve>(2) or an exit " +"occurred. The parent process was suspended while the child was using its " +"resources. The use of B<vfork>() was tricky: for example, not modifying " +"data in the parent process depended on knowing which variables were held in " +"a register." +msgstr "" +"리눅스에서, I<fork>()는 copy-on-write 페이지를 사용하여 수행된다. 그래서 단" +"지 I<fork>()에 의해 생긴 불이익은 부모 페이지 테이블 복사 및 자식을 위한 단" +"일 태스크 구조체를 만들기 위해 요구되는 시간과 메모리이다. 그러나, 오래전에 " +"I<fork()>는 I<exec>()를 실행한 후 즉시 불 필요하게, 호출 프로세스의 데이터 공" +"간의 완전한 복사를 하도록 요구 했다. 그후 효율성을 위해, BSD 는 부모 프로세" +"스의 주소 공간을 완전히 복사하지는 않지만 I<execve>()가 호출되거나 종료 될때" +"까지 부모의 메모리와 쓰레드 제어를 빌리는 B<vfork> 시스템 콜을 소개했다. 부" +"모 프로세스는 자식 프로세스가 해당 자원을 사용할때까지 일시 중지 된다. vfork" +"의 사용은 신중해야 한다. -- 예를 들어, 변수들이 레지스터에 잡혀 있는지를 알" +"고 있는 경우에 부모 프로세스에 있는 데이터를 수정해서는 안된다." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "버전S" + +#. In AIXv3.1 vfork is equivalent to fork. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<vfork> call may be a bit similar to calls with the same name in " +#| "other operating systems. The requirements put on B<vfork> by the " +#| "standards are weaker than those put on B<fork>, so an implementation " +#| "where the two are synonymous is compliant. In particular, the programmer " +#| "cannot rely on the parent remaining blocked until a call of I<execve()> " +#| "or I<_exit()> and cannot rely on any specific behaviour w.r.t. shared " +#| "memory." +msgid "" +"The requirements put on B<vfork>() by the standards are weaker than those " +"put on B<fork>(2), so an implementation where the two are synonymous is " +"compliant. In particular, the programmer cannot rely on the parent " +"remaining blocked until the child either terminates or calls B<execve>(2), " +"and cannot rely on any specific behavior with respect to shared memory." +msgstr "" +"B<vfork> 함수는 다른 OS에서 같은 이름을 가지고 있는 함수들과 약간 비슷하다. " +"표준에서 B<vfork> 를 수행할때의 요구들은 B<fork>를 수행할때의 것보다도 적" +"다. 그래서 두 함수가 동의어일때의 수행은 잘 된다. 특히, 프로그래머는 " +"I<execve()> 나 I<_exit()> 가 호출될때까지 블럭된 채로 남아 있는 부모 프로세스" +"에 의존할수 없으며 어떤 특정 행동 w.r.t 공유 메모리에 의존할수도 없다." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "It is rather unfortunate that Linux revived this spectre from the past. " +#| "The BSD manpage states: \"This system call will be eliminated when proper " +#| "system sharing mechanisms are implemented. Users should not depend on the " +#| "memory sharing semantics of I<vfork> as it will, in that case, be made " +#| "synonymous to I<fork>.\"" +msgid "" +"Some consider the semantics of B<vfork>() to be an architectural blemish, " +"and the 4.2BSD man page stated: \\[lq]This system call will be eliminated " +"when proper system sharing mechanisms are implemented. Users should not " +"depend on the memory sharing semantics of I<vfork> as it will, in that case, " +"be made synonymous to I<fork>.\\[rq] However, even though modern memory " +"management hardware has decreased the performance difference between " +"B<fork>(2) and B<vfork>(), there are various reasons why Linux and other " +"systems have retained B<vfork>():" +msgstr "" +"이 함수는 리눅스가 과거에 이러한 불안의 원인을 되살아나게 하는 것보다 더 운" +"이 없다. BSD 맨 페이지 상태: \"이 스스템 콜은 적당한 시스템 메카니즘이 수행" +"될때 사라질 것이다. 사용자들은 I<vfork> 의 메모리 공유 의미론에 의존해서는 " +"안된다. 왜냐하면 그런 경우 이 함수는 I<fork>의 동의어이기 때문이다.\"" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "\\[bu]" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Some performance-critical applications require the small performance " +"advantage conferred by B<vfork>()." +msgstr "" + +#. http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork +#. http://developers.sun.com/solaris/articles/subprocess/subprocess.html +#. http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<vfork>() can be implemented on systems that lack a memory-management unit " +"(MMU), but B<fork>(2) can't be implemented on such systems. (POSIX.1-2008 " +"removed B<vfork>() from the standard; the POSIX rationale for the " +"B<posix_spawn>(3) function notes that that function, which provides " +"functionality equivalent to B<fork>(2)+ B<exec>(3), is designed to be " +"implementable on systems that lack an MMU.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On systems where memory is constrained, B<vfork>() avoids the need to " +"temporarily commit memory (see the description of I</proc/sys/vm/" +"overcommit_memory> in B<proc>(5)) in order to execute a new program. (This " +"can be especially beneficial where a large parent process wishes to execute " +"a small helper program in a child process.) By contrast, using B<fork>(2) " +"in this scenario requires either committing an amount of memory equal to the " +"size of the parent process (if strict overcommitting is in force) or " +"overcommitting memory with the risk that a process is terminated by the out-" +"of-memory (OOM) killer." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "Linux" +msgid "Linux notes" +msgstr "리눅스" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Fork handlers established using B<pthread_atfork>(3) are not called when a " +"multithreaded program employing the NPTL threading library calls " +"B<vfork>(). Fork handlers are called in this case in a program using the " +"LinuxThreads threading library. (See B<pthreads>(7) for a description of " +"Linux threading libraries.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A call to B<vfork>() is equivalent to calling B<clone>(2) with I<flags> " +"specified as:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid " CLONE_VM | CLONE_VFORK | SIGCHLD\n" +msgstr " CLONE_VM | CLONE_VFORK | SIGCHLD\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "표준" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "None." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "이력" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"4.3BSD; POSIX.1-2001 (but marked OBSOLETE). POSIX.1-2008 removes the " +"specification of B<vfork>()." +msgstr "" + +#. In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still +#. present, but definitely on its way out'. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<vfork>() system call appeared in 3.0BSD. In BSD 4.4 it was made " +#| "synonymous to I<fork>(), but NetBSD introduced it again, cf. http://www." +#| "netbsd.org/Documentation/kernel/vfork.html . In Linux, it has been " +#| "equivalent to I<fork>() until 2.2.0-pre6 or so. Since 2.2.0-pre9 (on " +#| "i386, somewhat later on other architectures) it is an independent system " +#| "call. Support was added in glibc 2.0.112." +msgid "" +"The B<vfork>() system call appeared in 3.0BSD. In 4.4BSD it was made " +"synonymous to B<fork>(2) but NetBSD introduced it again; see E<.UR http://" +"www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In Linux, " +"it has been equivalent to B<fork>(2) until Linux 2.2.0-pre6 or so. Since " +"Linux 2.2.0-pre9 (on i386, somewhat later on other architectures) it is an " +"independent system call. Support was added in glibc 2.0.112." +msgstr "" +"I<vfork>()시스템 콜은 3.0 BSD에서 나타났다. BSD 4.4에서 이 함수는 I<fork>()" +"와 동의어이지만, NetBSD는 이 함수를 다시 소개했다. cf. http://www.netbsd." +"org/Documentation/kernel/vfork.html . 리눅스에서, 이 함수는 2.2.0-pre6 나 그" +"때까지 I<fork>()와 같다. 2.2.0-pre9(i386에서는 다른 아키텍쳐보다 다소 늦다) " +"이후에, 이 함수는 독립적인 시스템 콜이다. 지원은 glibc 2.0.112 에서 추가되었" +"다." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "CAVEATS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The child process should take care not to modify the memory in unintended " +"ways, since such changes will be seen by the parent process once the child " +"terminates or executes another program. In this regard, signal handlers can " +"be especially problematic: if a signal handler that is invoked in the child " +"of B<vfork>() changes memory, those changes may result in an inconsistent " +"process state from the perspective of the parent process (e.g., memory " +"changes would be visible in the parent, but changes to the state of open " +"file descriptors would not be visible)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When B<vfork>() is called in a multithreaded process, only the calling " +"thread is suspended until the child terminates or executes a new program. " +"This means that the child is sharing an address space with other running " +"code. This can be dangerous if another thread in the parent process changes " +"credentials (using B<setuid>(2) or similar), since there are now two " +"processes with different privilege levels running in the same address " +"space. As an example of the dangers, suppose that a multithreaded program " +"running as root creates a child using B<vfork>(). After the B<vfork>(), a " +"thread in the parent process drops the process to an unprivileged user in " +"order to run some untrusted code (e.g., perhaps via plug-in opened with " +"B<dlopen>(3)). In this case, attacks are possible where the parent process " +"uses B<mmap>(2) to map in code that will be executed by the privileged " +"child process." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "버그" + +#. As far as I can tell, the following is not true in Linux 2.6.19: +#. Currently (Linux 2.3.25), +#. .BR strace (1) +#. cannot follow +#. .BR vfork () +#. and requires a kernel patch. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +msgid "" +"Details of the signal handling are obscure and differ between systems. The " +"BSD man page states: \"To avoid a possible deadlock situation, processes " +"that are children in the middle of a B<vfork>() are never sent B<SIGTTOU> " +"or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input " +"attempts result in an end-of-file indication.\"" +msgstr "" +"BSD 맨 페이지 상태: \" 가능한 데드 락(deadlock) 상태를 피하기 위해, I<vfork> " +"상태에 있는 자식 프로세세스들은 SIGTTOU 나 SIGTTIN 신호를 보내서는 안된다; 그" +"보다 출력 또는 I<ioctl>s 는 허용되며 입력 시도는 파일 끝을 가리키게 된다." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "추가 참조" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<clone>(2), B<execve>(2), B<_exit>(2), B<fork>(2), B<unshare>(2), B<wait>(2)" +msgstr "" +"B<clone>(2), B<execve>(2), B<_exit>(2), B<fork>(2), B<unshare>(2), B<wait>(2)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "2023년 2월 5일" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "NOTES" +msgstr "주의" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy +#| msgid "" +#| "It is rather unfortunate that Linux revived this spectre from the past. " +#| "The BSD manpage states: \"This system call will be eliminated when proper " +#| "system sharing mechanisms are implemented. Users should not depend on the " +#| "memory sharing semantics of I<vfork> as it will, in that case, be made " +#| "synonymous to I<fork>.\"" +msgid "" +"Some consider the semantics of B<vfork>() to be an architectural blemish, " +"and the 4.2BSD man page stated: \"This system call will be eliminated when " +"proper system sharing mechanisms are implemented. Users should not depend " +"on the memory sharing semantics of B<vfork>() as it will, in that case, be " +"made synonymous to B<fork>(2). \" However, even though modern memory " +"management hardware has decreased the performance difference between " +"B<fork>(2) and B<vfork>(), there are various reasons why Linux and other " +"systems have retained B<vfork>():" +msgstr "" +"이 함수는 리눅스가 과거에 이러한 불안의 원인을 되살아나게 하는 것보다 더 운" +"이 없다. BSD 맨 페이지 상태: \"이 스스템 콜은 적당한 시스템 메카니즘이 수행" +"될때 사라질 것이다. 사용자들은 I<vfork> 의 메모리 공유 의미론에 의존해서는 " +"안된다. 왜냐하면 그런 경우 이 함수는 I<fork>의 동의어이기 때문이다.\"" + +#. type: SS +#: debian-bookworm +#, no-wrap +msgid "Caveats" +msgstr "" + +#. type: SS +#: debian-bookworm +#, no-wrap +msgid "History" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-28" +msgstr "2023년 7월 28일" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "2023년 3월 30일" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |