본문 바로가기

프로세스4

멀티 프로세싱 및 스레드의 큐(Queue) 사용 00 개요프로세스 vs 스레드multiprocessing.Queue vs queue.Queue파이썬에서 병렬 처리를 수행할 때, 프로세스 간 또는 스레드 간 통신을 안전하게 하기 위해 큐(Queue)를 많이 사용함특히, 프로세스 간 통신을 위한 multiprocessing.Queue와 스레드 간 통신을 위한 queue.Queue는 병렬 작업에서 중요한 역할을 함이번 글은 두 큐의 정의, 사용 예시, 그리고 차이점과 공통점에 대한 정리01 멀티프로세싱 큐 multiprocessing.Queue프로세스 간 통신을 위한 큐1. 정의multiprocessing.Queue는 파이썬의 멀티프로세싱 (multiprocessing) 라이브러리에서 프로세스 간 데이터를 주고 받기 위해 사용하는 큐여러 프로세스가 동시에 .. 2024. 10. 28.
PID (프로세스 식별자) 00 개요회사에서 코드분석 중, PID가 3보다 작은지 확인하고, 3보다 작다면 해당 process가 실행중이지 않는다는 메세지를 출력하는 스크립트가 있음PID가 3보다 작은지 여부를 확인하는 이유에 대한 정리01 PID란1. 정의프로세스 식별자 (Process ID)운영 체제에서 각 프로세스에 고유하게 부여되는 식별 번호운영 체제에서 실행되는 모든 프로그램은 프로세스 형태로 관리되며, 이 프로세스들은 각각 PID를 통해 구별됨2. 역할고유한 식별자: PID는 운영 체제 내에서 실행 중인 프로세스를 고유하게 식별 가능케 함. 각 프로세스는 다른 프로세스와 구별되기 위해 고유한 PID를 가짐프로세스 관리: PID는 시스템 관리자나 사용자가 프로세스를 추적하거나 제어할 때 필요함. 예) 특정 프로세스를 종료.. 2024. 9. 20.
subprocess (파이썬 모듈) 00 개요subprocess 모듈에 대한 정리 01 subprocess 모듈이란1. 정의subprocess 모듈은 새로운 프로세스를 생성하고, 그들의 입력/출력/에러 (input/output/error) 파이프에 연결하며, 반환 코드를 얻을 수 있게 함os.system 및 os.spawn* 와 같은 오래된 모듈 및 함수를 대체하기 위해 만들어짐 2. 사용서브프로세스를 호출할 때 권장되는 방법: run() 함수 사용Popen 인터페이스 사용 (advanced)프로세스 생성 및 관리는 기본적으로 Popen 클래스에 의해 처리됨02 subprocess의 Popen 생성자프로세스 생성 및 관리는 기본적으로 Popen 클래스에 의해 처리됨1. 문법class subprocess.Popen(args, .. 2024. 8. 23.
nohup (터미널 끊겨도 proc 진행 시키는 명령어) 01 nohub이란1. 정의리눅스에서 프로세스 (process, proc)를 실행한 터미널 (terminal, tty)의 세션 연결이 끊어지더라도 프로세스를 계속해서 동작시키는 명령어 원래 리눅스에서는 터미널에서 ssh 세션 로그아웃(logout) 발생 시 해당 터미널에서 실행한 프로세스들에게 HUP signal을 전달하여 종료시키게 되는데 이 HUP signal을 프로세스가 무시(ignore)하도록 하고 프로세스들을 마치 데몬(daemon)인 것처럼 동작시키는 명령어라서 nohup 이라고 명명또한 nohup 명령어로 인해 백그라운드에서 실행된 프로세스들의 표준 출력(standard output)은 nohup.out 파일로 재지향(redirection)됨터미널이 종료되어도 표준 출력은 nohup.out .. 2024. 4. 29.