pwd (print working directory) !!!
프로세스 : 현재 시스템에서 실행되는 프로그램.
프로그램과 프로세스의 차이
프로그램 : 지정된 작업 수행하는 명령
프로세스 : 실행 중인 프로그램. (프로그램이 실행되면 이를 프로세스라고 한다.)
각 프로세스는 고유한 번호를 가지고 있는데 이것이 PID.
자식 프로세스는 할 일이 끝나면 부모 프로세스에게 결과 돌려주고 종료.
- 데몬 프로세스
특정 서비스 제공 위해서 존재하며 부팅 과정에서 실행 시작함.
- 고아 프로세스
자식 프로세스가 아직 실행 중인데 부모 프로세스가 먼저 종료된 자식 프로세스. 이때 1번 프로세스가 새로운 부모 프로세스가 되어서 작업 종료를 지원한다.
- 좀비 프로세스
자식 프로세스가 실행을 종료 했는데도 프로세스 테이블 목록에 남아있음. 프로세스 목록에 defunct 프로세스라고 나오기도 한다. 좀비 프로세스가 증가하면 프로세스 테이블 용량이 부족해서 일반 프로세스 실행에 차질 생길 수 있음.
ps : 현재 실행 중인 프로세스 목록 보는 명령
-옵션 없이 사용 : 현재 셸이나 터미널에서 실행한 사용자 프로세스 정보 출력.
ps -f , ps a , ps au ... 등등 옵션 붙여야 PID(프로세스 번호), PPID(부모 프로세스 번호) 확인 가능했음.
ps -e : 시스템에서 실행 중인 모든 프로세스 출력. TTY 값 ?인 것은 데몬으로 시스템 실행한 프로세스.
ps -u user1 : 특정 사용자의 프로세스 목록 출력.
ps -p 특정PID : 해당 프로세스 정보 출력
ps와 grep 함께 사용하기 ... 뭔가 이거 시험 각. : ps와 grep 명령을 | 로 연결하여 특정 프로세스에 대한 정보 검색.
ex) ps -ef | grep bash
pgrep : 지정한 패턴과 일치하는 프로세스 정보 출력. pgrep [옵션] 패턴
pgrep -l : PID와 명령 이름만 출력 가능.
더 자세한 정보 검색, pgrep 명령을 ps 명령과 $로 연결해서 사용. ps -fp $(pgrep -x bash)
마찬가지로 -u 옵션을 사용하면 사용자명 지정해서 검색 가능하다.
+)
TTY (프로세스 실행된 터미널 종류와 번호. )
C (Cpu 사용량)
STIME(Start time? 프로세스 시작 날짜나 시간)
TIME (프로세스 실행 시간)
CMD (실행되고 있는 프로그램 이름)
시그널 : 프로세스에 무언가 발생했음을 알리는 간단한 메시지.
코어덤프: RAM에 남아있는 것을 core라는 형태의 파일로 제공
kill -l : 리눅스 지원 시그널 목록 확인
<1 / 종료> SIGHUP(Hang up) : 로그아웃과 같이 터미널에서 접속 끊겼을 때 발생하는 시그널.
<2 / 종료> SIGINT : 키보드로부터 오는 인터럽트 시그널로 실행을 중지. [Ctrl + c]
<3 / 종료, 코어덤프> SIGQUIT : 키보드로부터 오는 실행 중지 시그널. [Ctrl + \]
<9 / 종료> SIGKILL : 특수함. 무조건 종료
<14 / 종료> SIGALRM : 알람에 의해 발생
<15 / 종료> SIGTERM : kill 명령이 보내는 기본 시그널.
<17 / 무시> SIGCHLD : 자식 프로세스 중지되거나 종료된 경우에 모두 발생.
<19 / 중지> SIGSTOP : 터미널에서 입력된 중지 시그널
<18 > SIGCONT(sig continue) 로 재실행 가능.
kill : 지정한 시그널 프로세스에 보낸다. kill [-시그널] PID
kill -SIGKILL 1001
kill -SIGTERM 1001
kill $(pgrep -x man) : man을 실행시킨 프로세스 찾아서 종료시키기. ... 시험 각
*pgrep -x : 패턴과 정확히 일치하는 프로세스 정보 출력
프로세스 강제로 종료하기. 이때 9번 시그널 사용.
kill $(pgrep -x sh)
kill -9 5137(PID)
pkill 명령 사용해서 프로세스 종료하기 .. 프로세스 명령 이름(CMD)로 프로세스 찾아서 종료시킨다.
pkill man
pgrep -x man
or pkill $(pgrep -x man)
top : 현재 실행 중인 프로세스에 대한 정보 주기적 출력.
* RES (가상 메모리) : 이 프로세스가 실행되기 위해서 필요한 총 메모리의 용량
RSS: 실제로 RAM을 차지하는 용량
포그라운드 작업
- 포그라운드 프로세스 : 사용자가 입력한 명령 실행되어 결과 출력까지 기다려야 하는 포그라운드 방식으로 처리됨.
백그라운드 작업
- 백그라운드 프로세스: 명령을 실행하면 명령 처리 끝나는 것과 관계없이 곧바로 프롬프트 출력되어 사용자 다른 작업 계속할 수 있다.
'Major > Linux(Ubuntu)' 카테고리의 다른 글
사용자 정보 관리 (0) | 2022.06.07 |
---|---|
Overwrite script (0) | 2022.06.06 |
vi, 셸 (0) | 2022.04.20 |
파일의 속성, 접근 권한 (0) | 2022.04.05 |
셸,입출력 리다이렉션,셀 변수,환경변수,프롬프트 + 실습기록 (0) | 2022.04.05 |