ps : 현재 터미널에서 사용자가 실행한 프로세스의 정보를 출력
ps -f : 프로세스의 상세 정보 출력 (UNIX 옵션)
ps a : 터미널에서 실행한 프로세스의 정보 출력 (BSD옵션)
ps au : 터미널에서 실행한 프로세스(a)의 상세정보 출력(u)
ps -e : 전체 프로세스 목록 출력 (UNIX 옵션)
ps ax : 전체 프로세스 출력
ps -u : 특정 사용자가 실행한 프로세스 목록 출력
pgrep : 지정된 패턴과 일치하는 프로세스의 정보 출력
형식 : pgrep [option] < pattern >
pgrep -x bash : 패턴과 정확히 일치하는 CMD를 가진 프로세스 출력
--> 프로세스의 CMD가 정확히 bash와 일치하는 프로세스 출력
"정확히 일치한다" bash!=ssbash
pgrep -l bash : 패턴과 정확히 일치하는 프로세스의 PID와 이름 출력
--> -x 옵션과의 차이점 : 프로세스 이름이 함께 표시
ps -fp $(pgrep -x bash) : 찾고자 하는 프로세스의 상세 정보 확인이 필요한 경우에 사용
--> pgrep 명령으로 bash의 PID를 검색한 결과를 -p 옵션의 인자로 사용
--> pgrep -x bash 명령으로 검색된 각 PID에 해당하는 프로세스의 상세 정보 출력
pgrep -fp $(pgrep -u ryanhan bash) : ryanhan 사용자가 실행한 bash 프로세스의 자세한 정보 확인
kill & pkill 명령은 프로세스에 시그널을 보내는 방식으로 프로세스를 종료
시그널 : 프로세스에 무엇인가가 발생했음을 알리는 간단한 메세지
--> kill -l 명령어를 통해 시그널 목록 확인 가능
kill 명령 : 지정한 시그널을 프로세스에게 보냄
단순 kill = kill -15
--> 형식 : kill [ - < signal > ] < pid >
--> < signal > 에 작성한 시그널이 가진 처리 방식으로 프로세스를 종료
kill -2 < ____ >---> 인터럽트 신호를 보냄 (SIGINT)
kill -9 < ____ > ---> 프로세스를 강제 종료 (SIGKILL)
kill -15 <____> ---> 프로세스와 관련된 파일을 정리한 후 종료(SIGTERM
--> ps -fp $(pgrep -x man) 을 통해 실행중인 man 프로세스의 PID를 확인한다
- 여기서 기존 kill은 PID를 통해 프로세스를 종료하는 반면 pkill은 CMD 즉 man을 통해 pkill man 으로 man프로세스를 종료시킨다.
--> 작업이 완료될 때까지 기다려야 함.
--> sleep 명령으로 확인
ex) sleep 10 --> 10초 뒤 sleep 이 종료되기 이전에는ㅍ ㅡ롬프트가 다른 명령 받을 수 없음
실행방법 : 명령 끝에 & 기호 추가
ex) sleep 10 & --> sleep 명령을 백드라운드로 실행
--> 백드라운드 단점 : 작업 결과가 뒤섞여 결과 확인 어려움
작업 전환 : 포그라운드 <--> 백그라운드
작업 일시 중지 : 작업을 잠시 중단
작업 종료 : 프로세스를 종료하는 것처럼 작업을 종료
jobs 명령어 : 현재 백그라운드에서 실행중인 작업 목록 출력
--> 형식 : jobs [ &id ] ( id에는 jobs 명령으로 확인한 작업 번호 작성
^Z([ Ctrl ]+x) 또는 stop 명령은 현재 포그라운드 작업을 Stopped 상태로 바꿔 잠시 정지시킴(종료하는 것이 아님)
작업 종료: ctrl + c , kill 명령
--> 형식 : top [ option ]
/etc/shadow 파일 : 사용자 암호에 대한 정보를 별도로 관리하는 파일(9가지 항목)
/etc/login.defs/ 파일 : 계정에 필요한 기본값을 정의
-/etc/group/ 파일 : 시스템에 생성된 그룹에 관한 정보가 저장된 파일
/etc/gshadow/ 파일 : 각 그룹에 대한 비밀번호가 저장된 파일
/etc/skel 디렉터리 : 사용자 홈 디렉터리에 공통으로 배포해야할 파일 가지고 있음
--> 홈 디렉터리를 가진 bill 계정생성 : sudo useradd -m bill ( -m 은 사용자의 홈 디렉터리를 생성하는 옵션 )
--> 사용법 : su [ option ] < user >
--> 사용법 : usermod [ options ] < user >
---> 사용법 : userdel [ option ] < user >
---> 옵션 : -r : 사용자의 홈 디렉터리까지 삭제
--> 사용법 : groupadd [ options ] < groupname >
--> 옵션 : -g < gid > : 생성할 그룹의 GID 지정
--> 사용법 : groupmod [ options ] < group >
--> 사용법 : gpasswd [ options ] < group >
sudo gpasswd -a linus itgeeks --> itgeeks 그룹의 linus 라는 그룹원 추가
sudo gpasswd -d linus itgeeks --> itgeeks 그룹의 linus 라는 그룹원 삭제
- newgrp 명령 : 현재 사용자의 기본 그룹을 변경
--> 사용법 : newgrp < group >
---> 리눅스에서 사용자의 신원을 식별하고, 파일 시스템 및 프로세스 권한을 관리하는데 사용
– UID(User ID) : 사용자의 고유 식별 번호
– RUID(Real User ID) : 프로세스를 시작한 실제 사용자의 UID --> who am i 명령을 통해 확인
– EUID(Effective User ID) : 프로세스가 현재 수행 중인 작업에 대해 실제로 적용되는 UID --> whoami 명령을 통해 확인
--> 사용법 : w [ option ][ user ]
--> last [ user ]
--> 사용법 : groups [ user ]
--> 사용법 : 사용법 : chown [ option ] < user > < file >
--> 옵션 : -R : 서브 디렉터리의 소유자와 소유 그룹도 변경