본문 바로가기

python

6일차

멀티 프로세싱 실습 위주로 진행하였다

 

리눅스

파일 찾기 : find (경로) -name ‘파일이름’

폴더째 복사 : cp -r (복사할 파일) (위치) -r : 하위 파일도 복사

파일 내용 일괄 변경 : sed i ‘s/바뀔 단어/바꿀단어/g’ 파일

https://6kkki.tistory.com/10

소프트링크: 소프트링크는 원본 id값을 복사본이 참조해서 복사한다. 복사본이 바뀌면 원본도 바뀌는것은 같지만 만약 원본이 사라진다면 복사본은 쓸 수 없다, 그리고 파일 권한부분 맨앞에 l을 표시

명령어 : ln -s 원본 소프트링크

하드링크: 하드링크는 원본과 id값이 같아서 만약 복사본을 바꾸면 원본도 바뀐다 

명령어 : ln 원본 하드링크

 

 

멀티 프로세싱 (240205 네이버 인기글 검색 프로그램 참고)

  1. 방법은 2가지가 있다 pool, process
  2. pool은 사전에 지정한 개수만큼 프로세스를 생성하여 pool에 담아두고 처리한다. CPU바운드(CPU성능에 따라 속도가 결정되는 작업, 계산작업 등) 작업에 적합
  3. process는 개별 프로세스를 직접 생성하여서 작업을 처리한다. I/O바운드 작업(input과 output 즉 파일 입출력,네트워크 통신, DB쿼리작업 등)
  4. pool 방법 (실행 실행 방법이 많다)
    1. pool = multiprocessing.Pool(processes=int(process_cnt))
    2. pool.imap_unordered(func,lines):
  5. process방법 chuck를 직접 나누어 직접 실행
  6. 멀티프로세싱에서 공유 데이터를 사용할라면 multiprocessing.Manager()사용 그리고 그 것을 인자로 넘겨준다
  7. pool에서 인자를 여러개 넘겨 줄때 
    1. func=partial(process1,shared_data=shared_data)
    2. pool.imap_unordered(func,lines):
    3. 여기서 다른 인자들은 partial에 추가해준다
    4. 실행할때 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