리눅스(5) - 프로그램과 프로세스

김형선·2023년 9월 11일
0

Linux

목록 보기
5/16

프로그램

디스크에 저장되어 있음. 정적. 엔터티(Entity)

프로세스

메모리에서 이루어짐. 모든 작업은 메모리에서 이루어진다.

  • 정적으로 있던 개체가 메모리에 올라감. 프로세스는 동적인 개체.
  • OS(운영체제)가 디스크>메모리로 끌고 올라감.
  • 어떤 프로세스가 돌아가기 위해서는 부모 프로세스가 있어야 한다. 프로그램 실행시키면 부모 프로세스 먼저.

프로세스 : 실행된 프로그램. 부팅 과정을 거쳐 init이라는 최초의 사용자 프로세스 생성.

  • 부모 프로세스 : 다른 프로세스 생성할 수 있음.
  • 자식 프로세스 : 부모 프로세스로부터 만들어짐.
  • 데몬 프로세스 : 일반적으로 사용자가 직접 실행x, 커널에 의해 구동되며 백그라운드에서 특정 서비스를 제공하기 위해 구동. ex) 웹서비스는 httpd 데몬을 실행하여 서비스 시작. 파일 이름 끝에 d붙인다.
  • 고아 프로세스 : 자식 프로세스 종료 후 부모 프로세스로 돌아가는데, 부모 프로세스가 그 전에 끝나버리는 경우를 말한다. 그럴땐 init프로세스가 해당 프로세스 종료해준다.
  • 좀비 프로세스 : 이미 종료된 프로세스인데 리소스 반환을 하지 못한 상태로 남아 있는 프로세스. kill -9 해줘야함. 자원 반환해야 컴퓨터 상태 좋음.

PID : OS가 할당하는 process identification number > a number used by most operating system kernels—such as those of Unix, macOS and Windows—to uniquely identify an active process.
PPID : 자식 프로세스에게 할당 되는 아이디

ps -ef 명령어로 현재 돌아가는 프로세스 볼 수 있음.


  • TCP : 신뢰성 있다. 대신 데이터 앞에 헤더가 많이 붙음. 그래서 시간 당 갈 수 있는 데이터 양은 일정하니깐 상대적으로 느림.
  • UDP : 빠른 대신에 데이터 깨질 수 있음. 그래서 주로 스트리밍 데이터 보낼 때(동영상 음악 등)

vi 편집기 연 상태에서 ls -al 해 보면

swp가 생김.

리눅스는 멀티유저 가능해서 수정할 때 저런 식으로 생김.
(여러 유저가 동시에 수정하고 있을 수 있으니깐)
저장하고 나가면 swp 사라짐.

vi 편집기로 vi tuesday를 하고 편집기가 열린 상태에서

ps -ef | grep tue

를 치면

이렇게 뜨고

kill -9

을 하면

이런 식으로 swp파일 남아있음.
다시 vi tuesday를 해보면

이렇게 주의하라는거 뜬다.
Recover 선택하면
새롭게 swo파일도 생성이 된 것을 볼 수 있다.

열었던 vi편집기(swo)를 정상 종료하면 ls -al을 다시 했을 때

이렇게 swo는 사라진 채로 나온다.


sleep 100(sleep명령어는 그냥 잠깐 작동 안 하게 쉬는 명령언데 kill명령어 실습을 위해서 써봄)
후에 kill -15하면 저렇게 terminated 뜸.


백그라운드에서 실행하려면 뒤에 & 붙이면 되고 jobs를 쳐서 상태 확인할 수 있다.

다시 백그라운드에서 포그라운드로 돌리고 싶으면

이런 식으로 fg에다가 뒤에 1을 붙이는건 4891 앞에 숫자임.

0개의 댓글

관련 채용 정보