rsync가 여러 프로세스를 생성하는 이유는 무엇입니까? Ds

다음 cron 문을 사용하여 한 컴퓨터에서 같은 컴퓨터의 다른 폴더로 백업합니다.

19 21 * * * root  rsync -ac --delete /source/folder /dest/folder

사용 pstree하면 cron이 세 가지 프로세스를 분기 한 것을 볼 수 있습니다.

 ├─cron───cron───rsync───rsync───rsync

ps

 9972 ?        Ds     1:00 rsync -ac --delete /source/folder /dest/folder
 9973 ?        S      0:29 rsync -ac --delete /source/folder /dest/folder
 9974 ?        S      0:09 rsync -ac --delete /source/folder /dest/folder

왜 세 가지 프로세스가 있습니까? 하나만 제한 할 수 있습니까?



답변

http://rsync.samba.org/how-rsync-works.html

Rsync는 많은 파이프 라인입니다. 이것은 (대규모) 단방향으로 통신하는 일련의 프로세스임을 의미합니다. 파일 목록이 공유되면 파이프 라인은 다음과 같이 작동합니다.
generator → sender → receiver

생성기의 출력은 발신자에게 입력되고 발신자의 출력은 수신자에게 입력됩니다. 각 프로세스는 독립적으로 실행되며 파이프 라인이 중단되거나 디스크 I / O 또는 CPU 리소스를 기다리는 경우에만 지연됩니다.

로컬 rsync (소스 및 대상은 로컬 파일 시스템 임)를 실행 중이므로 세 프로세스가 모두 실행됩니다.
할 수있는 일은 없습니다. 이것은 의도적으로 설계된 것입니다.


답변