인프라 & 클라우드 · 중급
백그라운드에서 실행 중인 프로세스를 관리하는 방법을 설명하고, `nohup`과 `&`의 차이점을 구체적인 사용 사례와 함께 설명해 주세요.
힌트 · `nohup`은 세션 종료 시에도 프로세스를 유지하며, `&`는 현재 세션에서 백그라운드 실행을 의미합니다. `disown` 명령어도 고려해 보세요.
프로세스 관리nohup&SIGHUP표준 입출력 리디렉션
모범답안
네, 백그라운드에서 실행 중인 프로세스를 관리하는 방법은 여러 가지가 있습니다. 가장 기본적인 방법은 명령어 뒤에 &를 붙이는 것입니다. 예를 들어 sleep 100 &를 실행하면 sleep 100 프로세스가 백그라운드에서 실행됩니다. 하지만 이 방법은 터미널 세션이 종료되면 프로세스도 함께 종료될 수 있다는 단점이 있습니다.
nohup은 이러한 문제를 해결하기 위해 사용됩니다. nohup command & 형태로 사용하면, 터미널 세션이 종료되더라도 프로세스가 계속 실행됩니다. nohup은 SIGHUP 시그널을 무시하고, 표준 출력과 표준 에러를 기본적으로 nohup.out 파일로 리디렉션합니다.
&는 단순히 프로세스를 백그라운드로 보내는 역할만 하지만, nohup은 프로세스가 터미널 세션 종료에 영향을 받지 않도록 보호하는 역할을 합니다. 예를 들어, 서버에서 장시간 데이터 처리 작업을 실행해야 할 때 nohup을 사용하면 안정적으로 작업을 완료할 수 있습니다.
추가적으로 disown 명령어를 사용하면 이미 백그라운드로 실행 중인 프로세스를 현재 쉘의 작업 목록에서 제거하여, 쉘 종료 시 해당 프로세스가 종료되지 않도록 할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Linux 면접 질문
- Linux에서 특정 조건에 맞는 파일이나 디렉토리를 찾을 때 사용하는 `find` 명령어의 기본적인 사용법에 대해 설명하고, 현재 디렉토리와 그 하위 디렉토리에서 'test.txt'라는 이름의 파일을 찾는 명령어를 작성해주세요.
- Linux에서 파일 내용을 확인하는 `cat`, `less`, `more` 명령어의 차이점과 각각의 적절한 사용 상황을 설명해주세요.
- Linux에서 `sudo` 명령어는 어떤 용도로 사용되며, 일반 사용자가 `sudo`를 사용할 때 어떤 이점을 얻을 수 있는지 설명해주세요.
- Linux 파일 시스템에서 `SUID`, `SGID`, `Sticky Bit`의 역할과 각각의 보안적 의미를 설명하고, 실제 시스템에서 이들을 어떻게 활용하거나 주의해야 하는지 예를 들어 설명해 주세요.
- Linux에서 하드 링크(Hard Link)와 심볼릭 링크(Symbolic Link, 소프트 링크)의 차이점을 inode 개념을 포함하여 설명하고, 각각 어떤 상황에서 사용하는 것이 적절한지 실제 시나리오를 들어 설명해 주세요.
- 시스템의 네트워크 연결 상태를 확인하기 위해 `netstat`과 `ss` 명령어를 사용할 수 있습니다. `ss` 명령어가 `netstat`에 비해 가지는 장점은 무엇이며, `ss` 명령어를 활용하여 특정 포트의 ESTABLISHED 연결만 필터링하는 방법을 보여주세요.