resque를 사용 중입니다. 큐 프로세서는 실행 과정에서 쉘 프로세스를 시작합니다. 현재 PTY.spawn()
을 사용하여 쉘 명령을 호출하고 출력을 처리합니다.Ruby에서 자식 프로세스 동시 생성하기
숫자 (N)을 부여 할 수 있도록이 코드를 보완하고 싶습니다 (온보드 VM을 실행 한 명령, 한 번의 호출로 가변 숫자를 시작할 수 있음). N 번째 호출이 N-1 번째 호출을 마칠 때까지 대기하지 않고도 별도의 프로세스에서 N 번 호출했습니다. 또한 각 호출에서 모든 STDOUT을 캡처하므로 호출이 완료되면 출력 작업을 수행 할 수 있습니다.
나는 Kernel::fork
을 보았지만 fork 된 블록 내부의 코드 범위는 그 부모와 동일하지 않습니다 (꽤 분명한 이유로).
각 프로세스를 독립적으로 생성하고 출력을 캡처 할 수 있도록 사용할 수있는 도구가 있습니까? 계속 진행하기 전에 부모 프로세스가 모두 완료 될 때까지 기다릴 수 있습니까? 여기
이것에 대해 명확하게 설명해 주시겠습니까? Thread.new 또는 t.join을 호출 할 때 스레드가 처리를 시작합니까? – asfallows
@asfallows :'Thread.new'. 't.join'은 스레드가 완료되기를 기다립니다. – Linuxios
감사! 나는 이것을 가지고 놀 것이다. 내가 필요한 것이어야한다. – asfallows