«fork» 태그된 질문

7
새로운 프로세스를 생성하기 위해 분기해야하는 이유는 무엇입니까?
유닉스에서는 새로운 프로세스를 만들고 싶을 때마다 현재 프로세스를 분기하여 부모 프로세스와 정확히 동일한 새 자식 프로세스를 만듭니다. 그런 다음 exec 시스템 호출을 수행하여 상위 프로세스의 모든 데이터를 새 프로세스의 데이터로 바꿉니다. 처음에 상위 프로세스의 사본을 작성하고 새 프로세스를 직접 작성하지 않는 이유는 무엇입니까?

3
포크 폭탄으로 시스템을 충돌시킬 수없는 이유는 무엇입니까?
최근에 GNU / Linux의 프로세스에 대한 정보를 파헤쳐 서 악명 높은 포크 폭탄을 만났습니다. :(){ : | :& }; : 이론적으로 시스템에 리소스가 부족할 때까지 자체 복제됩니다. 그러나 CLI 데비안 과 GUI 민트 배포판 모두에서 테스트를 시도했지만 시스템에 많은 영향을 미치지 않는 것 같습니다. 예, 수많은 프로세스가 생성되며 잠시 후 …
54 linux  process  fork  ulimit 

4
fork ()가있는 프로그램이 때때로 출력을 여러 번 인쇄하는 이유는 무엇입니까?
프로그램 1에서 Hello world한 번만 인쇄되지만 제거 \n하고 실행하면 (프로그램 2) 출력이 8 번 인쇄됩니다. 누군가 나에게 \n여기서 의 중요성 과 그것이 어떻게 영향을 미치는지 설명해 주 fork()시겠습니까? 프로그램 1 #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { printf("hello world...\n"); fork(); fork(); fork(); } 출력 1 : …
50 c  fork 

2
기본 프로세스 생성 메커니즘이 포크 인 이유는 무엇입니까?
프로세스 작성을위한 UNIX 시스템 호출 인 fork ()는 상위 프로세스를 복사하여 하위 프로세스를 작성합니다. 내 이해는 거의 항상 자식 프로세스의 메모리 공간 (텍스트 세그먼트 포함)을 대체하기 위해 exec ()를 호출한다는 것입니다. fork ()에서 부모의 메모리 공간을 복사하는 것은 항상 낭비 적 인 것처럼 보입니다 (메모리 세그먼트를 복사 할 때 복사하여 …


4
자식 프로세스가 부모와 함께 죽는 UNIX 변형이 있습니까?
나는 꽤 오랫동안 리눅스 커널 동작을 연구 해 왔으며 항상 나에게 분명하다. 프로세스가 죽으면 모든 자식은 프로세스가 init끝날 때까지 프로세스 (PID 1)로 돌아갑니다 . 그러나 최근 커널보다 더 많은 경험을 가진 사람이 나에게 다음과 같이 말했습니다. 프로세스가 종료되면 모든 하위 항목도 종료됩니다 ( NOHUP이 경우 다시 사용하지 않는 한 init). …
41 process  init  exit  fork 

3
4.3 커널에서 "자원을 일시적으로 사용할 수 없음"으로 스레드 작성에 실패
여러 컨테이너가있는 Arch Linux (커널 4.3.3-2)에서 도커 서버를 실행하고 있습니다. 마지막으로 재부팅 한 후 컨테이너 내의 도커 서버와 임의의 프로그램이 스레드를 만들 수 없거나 자주 포크하지 않는다는 메시지와 함께 충돌합니다. 특정 오류 메시지는 프로그램에 따라 다르지만 대부분 특정 오류를 언급하는 것 같습니다 Resource temporarily unavailable. 오류 메시지의 예는이 게시물의 끝 …
39 linux  docker  limit  fork  thread 

3
2.6 커널 Linux의 포크 대 클론
포크와 클론에 대한 혼란이 있습니다. 나는 그것을 보았다 : fork는 프로세스 용이고 clone은 스레드 용입니다. 포크는 단지 클론을 호출하고 클론은 모든 프로세스와 스레드에 사용됩니다 이 중 하나가 정확합니까? 2.6 Linux 커널을 사용하는이 2 개의 syscall의 차이점은 무엇입니까?
37 linux  fork 

3
포크 : 재시도 : 리소스를 일시적으로 사용할 수 없음
서버에 연결하는 동안 -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: Resource temporarily unavailable 그리고 나는 또한 다음 명령을 시도하면 결과는 같습니다. -bash-4.1$ df -h -bash: fork: retry: Resource temporarily unavailable -bash: …
31 linux  fork 

3
Linux에서 fork ()가 전체 프로세스 힙을 즉시 복사합니까?
fork()시스템 호출은 실행중인 프로세스에서 자식 프로세스를 복제합니다. PID를 제외하고 두 프로세스는 동일합니다. 당연히 프로세스가 쓰지 않고 힙에서 읽는 경우 힙을 복사하면 메모리가 많이 낭비됩니다. 전체 프로세스 힙이 복사됩니까? 쓰기 만 힙 복사를 트리거하는 방식으로 최적화 되었습니까?
30 linux  fork 

3
이미 '&'를 사용하여 분기하는 경우 'nohup'이 필요한 경우는 언제입니까?
먼저이 질문은 관련이 있지만 분명히이 좋은 질문과 동일하지는 않습니다. nohup, disown 및 &의 차이점 나는 무언가를 이해하고 싶다 : '&'를 할 때, 나는 올바르게 분기하고 있습니까? "nohup ... &"을하는 것이 유용한가요? 아니면 간단하고 충분합니까? 누군가 '&'를 사용하고 여전히 'nohup'을 사용하려는 경우를 보여줄 수 있습니까?
26 shell  nohup  fork 

3
bash는 C의 포크 ()와 유사한 포크를 지원합니까?
동일한 스크립트의 두 복사본이 실행되도록 한 지점에서 포크하려는 스크립트가 있습니다. 예를 들어 다음 bash 스크립트가 존재합니다. echo $$ do_fork() echo $$ 이 bash 스크립트가 실제로 존재하면 예상되는 결과는 다음과 같습니다. <ProcessA PID> <ProcessB PID> <ProcessA PID> 또는 <ProcessA PID> <ProcessA PID> <ProcessB PID> "do_fork ()"대신 이런 종류의 출력을 얻거나 bash …
25 shell  fork 

3
fork ()의 ​​COW (복사시 복사)는 여러 개의 포크를 어떻게 처리합니까?
Wikipedia에 따르면 (잘못 될 수 있음) fork () 시스템 호출이 발행되면, 상위 프로세스에 해당하는 모든 페이지의 사본이 작성되고 하위 프로세스의 OS에 의해 별도의 메모리 위치에로드됩니다. 그러나 특정 경우에는 필요하지 않습니다. 자식이 " exec"시스템 호출 (C 프로그램 내에서 실행 파일을 실행하는 데 사용됨)을 실행하거나을 종료 한 직후에 종료되는 경우를 고려하십시오 fork(). …
23 linux  c  fork 

1
포크 폭탄은 어떻게 작동합니까?
경고 생산 기계에서이를 실행하지 마십시오. 주제에 대한 Wikipedia 페이지를 읽으면 일반적으로 다음 코드로 진행되는 작업을 따릅니다. :(){ :|:& };: 설명의 발췌 다음 포크 폭탄은 2002 년에 예술로 소개되었습니다.56 정확한 기원은 알 수 없지만 2002 년 이전 Usenet에 존재했습니다. 폭탄은 다음 13자를 bash 또는 zsh 와 같은 UNIX 쉘 에 붙여 …
22 bash  shell-script  zsh  fork 

4
fork () 후에 자식은 어디에서 실행을 시작합니까?
유닉스 프로그래밍을 배우려고하는데 fork ()에 관한 질문이 나왔습니다. fork ()가 현재 실행중인 프로세스와 동일한 프로세스를 생성한다는 것을 알고 있지만 어디에서 시작합니까? 예를 들어 코드가 있다면 int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent process\n"); fflush (stdout); retval = fork (); printf ("Which …
22 process  c  fork  api 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.