블록이나 Proc에 정의 된 코드를 별도의 프로세스로 생성하는 솔루션을 찾고 있습니다.별도의 프로세스에서 코드를 실행하는 방법은 무엇입니까?
p = Proc.new do
File.open('newproc.log', 'w') {
|fw|
10.times do
fw.puts Time.now
sleep 1
end
}
end
# spawn p in a separate process here
# original code continues
같은 뭔가 없음 프로세스 포크 (fork), 스레딩, 외부 파일에 전혀 저장. 독립 실행 형 프로세스에서 블록을 실행하기 만하면됩니다.
아이디어가 있으십니까?
업데이트 : 블록을 추가하는 과정은 호출 프로세스에서 정의 된 것에 의존하지 않습니다.
왜 포크 (fork)? –
@SergioTulentsev 원래 프로세스가 "뚱뚱"하기 때문에. 많은 메모리를 차지하고 포크는 물건을 복제합니다. –
왜 다른 스크립트에 넣고 대신 호출할까요? – squiguy