멀티 프로세싱 실습 위주로 진행하였다
리눅스
파일 찾기 : find (경로) -name ‘파일이름’
폴더째 복사 : cp -r (복사할 파일) (위치) -r : 하위 파일도 복사
파일 내용 일괄 변경 : sed i ‘s/바뀔 단어/바꿀단어/g’ 파일
소프트링크: 소프트링크는 원본 id값을 복사본이 참조해서 복사한다. 복사본이 바뀌면 원본도 바뀌는것은 같지만 만약 원본이 사라진다면 복사본은 쓸 수 없다, 그리고 파일 권한부분 맨앞에 l을 표시
명령어 : ln -s 원본 소프트링크
하드링크: 하드링크는 원본과 id값이 같아서 만약 복사본을 바꾸면 원본도 바뀐다
명령어 : ln 원본 하드링크
멀티 프로세싱 (240205 네이버 인기글 검색 프로그램 참고)
- 방법은 2가지가 있다 pool, process
- pool은 사전에 지정한 개수만큼 프로세스를 생성하여 pool에 담아두고 처리한다. CPU바운드(CPU성능에 따라 속도가 결정되는 작업, 계산작업 등) 작업에 적합
- process는 개별 프로세스를 직접 생성하여서 작업을 처리한다. I/O바운드 작업(input과 output 즉 파일 입출력,네트워크 통신, DB쿼리작업 등)
- pool 방법 (실행 실행 방법이 많다)
- pool = multiprocessing.Pool(processes=int(process_cnt))
- pool.imap_unordered(func,lines):
- process방법 chuck를 직접 나누어 직접 실행
- 멀티프로세싱에서 공유 데이터를 사용할라면 multiprocessing.Manager()사용 그리고 그 것을 인자로 넘겨준다
- pool에서 인자를 여러개 넘겨 줄때
- func=partial(process1,shared_data=shared_data)
- pool.imap_unordered(func,lines):
- 여기서 다른 인자들은 partial에 추가해준다
- 실행할때 func를 넘긴다
반응형
'python' 카테고리의 다른 글
8일차 (1) | 2024.02.09 |
---|---|
7일차 (0) | 2024.02.07 |
5일차 교육 (0) | 2024.02.06 |
교육 4일차 paramiko+requests+정규식 (1) | 2024.02.03 |
교육 3일차 paramiko (0) | 2024.02.01 |