반응형

Programming/Linux 14

좀비 프로세스 원인과 죽이는 방법(Zombie Process)

개발서버를 운영하는 중에 "There are 2 zombie processes."라는 메시지를 발견했는데요. 리눅스 운영체제에서 발생할 수 있는 좀비 프로세스의 원인은 무엇인지, 죽이는 방법은 무엇인지 해결하며 정리한 내용입니다. 1. Zombie Process란? 프로세스가 종료되고 리소스는 모두 회수되었지만, 시스템 프로세스 테이블에 남아있는 defunct 상태의 프로세스를 '좀비 프로세스'라고 하는데요. 실행이 종료되었지만 아직 삭제되지 않은 프로세스라고 볼 수 있습니다. 2. 발생 원인 보통 프로세스는 exit() 시스템 함수를 호출함으로써 운영체제에게 자신의 삭제를 요청하며 종료되는데요. Process가 종료되면 사용하던 리소스는 운영체제에게 다시 회수됩니다. 그러나 이때 프로세스의 종료 상태가..

Programming/Linux 2022.09.14

데몬(daemon) 프로세스의 정의와 실행 방법

프로젝트의 개발서버 배포 과정에서 데몬을 사용하여 서비스의 배포와 관리를 자동화할 수 있다는 것을 알게 되었고, 실제 적용해보면서 정리한 내용입니다. 내용 참고하시고 잘못된 부분은 지적해주시면 확인하고 공부하여 다시 수정하겠습니다. 미리 감사드립니다. 프로세스란? (background, foreground) 데몬(daemon)에 대해서 이해하기 위해서 먼저 프로세스에 대해서 간단하게 살펴보겠습니다. 프로세스(process)는 연속으로 실행되고 있는 컴퓨터 프로그램(program)을 의미하는데요. 프로세스는 포그라운드(foreground) 프로세스와 백그라운드(background) 프로세스로 나눌 수 있습니다. 각각에 대해서 살펴보면 포그라운드 프로세스는 인터넷 브라우저, 인텔리제이, 카카오톡 등, 눈에 ..

Programming/Linux 2022.07.27

Linux 리눅스 파일 권한에 대한 이해와 권한 변경(chmod)

'다중 사용자 운영체제에서 권한이 필요한 이유' 주로 개인이 일반적으로 사용하는 '단일 사용자 운영체제'(Single-User Operation System, 대표적으로 Windows)와는 다르게 여러 사용자들에게 서비스를 제공해주는 서버에는 '다중 사용자 운영체제'(Multi-User Operation System)가 사용됩니다. 다중 사용자 운영체제의 대표적인 것이 유닉스(Unix) 운영체제와 유닉스에서 파생된 리눅스(Linux) 운영체제이며, 다중 사용자 운영제체는 여러 클라이언트 컴퓨터에서 하나의 서버 컴퓨터에 접속을 하는데 사용되기 때문에 파일 및 디렉터리의 접근 권한을 클라이언트 계정별로 엄격하게 관리되어야 한다는 특징이 있습니다. * 리눅스에서 디렉토리는 그 디렉터리가 포함하는 파일과 하위 ..

Programming/Linux 2021.12.09

nohup 명령어를 사용해도 프로세스가 종료되는 경우 해결 방법

서버에 서비스를 배포 중 터미널이 종료되어도 프로세스가 지속되도록 하기 위해 찾은 방법이 nohup 명령어입니다. 처음 nohup 명령어를 사용하여 프로젝트를 실행했을 때는 터미널 종료 후에도 서비스가 계속 동작하는 것을 확인하였으나, 마무리 작업에서 갑자기 nohup 명령어를 사용해도 프로젝트가 종료되는 경우가 발생하여 찾은 해결 방법입니다. 우선 nohup 명령어는 리눅스(Linux)에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 계속 동작할 수 있게 해주는 명령어입니다. 원리는 터미널에서 로그아웃이 발생하면 리눅스는 해당 터미널에서 실행한 프로세스들에게 hup signal을 전달하여 종료시키는데, nohup 명령어가 이 hup signal을 무시하는 명령어기 때문에 터미널 연결이 끊어지거나..

Programming/Linux 2021.08.01
반응형