23.10.30 최초 작성
PID라는 고유한 번호를 가짐ps [옵션]
///
<유닉스 옵션>
-e : 실행되고 있는 모든 프로세스의 정보 출력
-f : 상세한 정보 출력
-u uid : 특정 사용자에 대한 모든 프로세스 정보 출력
-p pid : pid를 가진 특정 프로세스 정보 출력
<BSD 옵션>
a : 터미널에서 실행한 프로세스의 정보 출력
u : 프로세스 소유자 이름, CPU 사용량 등 상세 정보 출력
x : 실행되고 있는 모든 프로세스의 정보 출력
<GNU 옵션>
--pid PID 목록 : 목록으로 지정한 특정 PID 정보 출력

-f옵션 사용 시UID : 프로세스를 실행한 사용자 IDPID : 프로세스 번호PPID : 부모 프로세스 번호C : CPU 사용량 (%)STIME : 프로세스의 시작 날짜나 시간TTY : 프로세스가 실행된 터미널의 종류와 번호TIME : 프로세스 실행 시간CMD : 실행되고 있는 프로그램 이름
a옵션 사용 시 STAT 정보R : 실행 중S : 인터럽트 가능한 대기(sleep) 상태T : 작업 제어에 의해 정지된 상태Z : 좀비 프로세스pgrep [옵션] 패턴 // 지정한 패턴과 일치하는 프로세스 정보 출력
ps -fp $(pgrep -x bash) // ps 명령어와 조합해 사용 가능
///
-x : 패턴과 정확히 일치하는 패턴을 가진 프로세스 정보 출력
-n : 패턴을 포함하는 가장 최근 프로세스 정보 출력
-u 사용자명 : 특정 사용자에 대한 모든 프로세스 출력
-l : PID와 프로세스 이름 출력
-t term : 특정 단말기와 관련된 프로세스 정보 출력
top //현재 실행 중인 프로세스에 대한 정보 주기적으로 출력
| 내부 명령 | 기능 |
|---|---|
| Enter | 화면에 즉시 출력 |
| h, ? | 도움말 화면 출력 |
| k | 프로세스 종료 (PID 입력해야 함) |
| n | 출력하는 프로세스 갯수 바꿈 |
| p | CPU 사용량을 기준으로 정렬해 출력 |
| q | top 명령 종료 |
| M | 메모리 사용량을 기준으로 정렬해 출력 |
| u | 사용자 기준으로 정렬해 출력 |
kill -l을 통해 확인 가능kill [-시그널] <PID> // PID를 가진 프로세스에 시그널을 보냄
pkill <명령 이름> //명령 이름을 가진 프로세스를 종료
포그라운드 프로세스 : 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다려야 하는 프로세스백그라운드 프로세스 : 명령을 실행하면 명령의 처리가 끝나는 것과 관계없이 바로 프롬프트가 출력되어 사용자가 다른 작업을 계속할 수 있는 프로세스sleep 100 //포그라운드 작업
sleep 100 & //백그라운드 작업
find / -name passwd >pw.dat 2>&1 &//작업의 결과와 오류 파일로 저장
작업 전환 : 포그라운드 및 백그라운드 작업간의 전환작업 일시 중지 : 작업을 잠시 중단 작업 종료 : 프로세스를 종료jobs [%작업 번호]
///
%번호 : 해당 번호의 작업 정보 출력
%+ or %% : 작업 순서가 +인 작업 정보를 출력
%- : 작업 정보가 -인 작업 정보를 출력
| 항목 | 출력 예 | 의미 |
|---|---|---|
| 작업 번호 | [1] | 백그라운드로 실행할 때마다 순차적으로 증가 |
| 작업 순서 | + | 작업 순서 표시 + : 가장 최근에 접근한 작업 - : +작업보다 바로 전에 접근한 작업 |
| 상태 | 실행 중 | 실행 중 : 현재 실행 중인 작업 완료 : 작업이 정상적으로 종료 됨 종료됨 : 작업이 비정상적으로 종료됨 정지됨 : 작업이 잠시 중단 됨 |
| 명령 | sleep 100& | 백그라운드로 실행 중인 명령 |
bg [%작업 번호] //작업을 백그라운드 작업으로 전환
fg [%작업 번호] //작업을 포그라운드 작업으로 전환
ctrl + z or stop [%작업 번호] //포그라운드 작업 일시 정지
ctrl + c //포그라운드 작업 종료
kill [%작업 번호] //백그라운드 작업 종료
nohup <명령&> //로그아웃 후에도 백그라운드 작업 실행
nohup find / -name passwd &
at [옵션] <시간> // 예약한 명령을 지정한 시간에 실행 (한번만)
atrm [%작업 번호] // 예약한 작업 삭제
///
-l : 현재 실행 대기 중인 명령의 전체 목록을 출력
-r [%작업 번호] : 현재 실행 대기중인 명령 중 해당 작업 번호 삭제
-m : 출력 결과가 없더러도 작업이 완료되면 사용자에게 메일로 알려 줌
-f 파일 : 표준 입력 대신 실행할 명령을 파일로 지정
-d [%작업 번호] : 지정한 작업 삭제 (실행 전)
at 10:00 pm
at 5:15 am May 30
이후 실행할 명령 입력하고 ctrl + d로 입력 마무리
at명령어로 생성된 작업 파일은 /var/spool/at 디렉토리에 저장crontab [-u 사용자 ID] [옵션] [파일] //정해진 시간에 작업을 반복 실행
//crontab 파일을 생성해 이 파일을 기준으로 작업 수행
///
-e : 사용자의 crontab 파일 편집
-l : crontab 파일의 목록 출력
-r : crontab 파일 삭제
| 분(0~59) | 시(0~24) | 일(1~31) | 월(1~12) | 요일(0~6) | 작업 내용 |
|---|
30 23 1 * * bins/ls -l ~user1 > ~user1/cron.out
EDITOR=vi;export EDITOR (편집기 설정)/var/spool/cron/crontabs 디렉토리에 사용자 이름으로 생성/etc/at.allow 와 /etc/at.deny 파일에 사용자 이름을 기록해 해당 사용자가 at명령어를 사용할 수 있도록 할지 설정할 수 있음/etc/at.allow파일이 /etc/at.deny보다 먼저 적용되어 두 파일에 사용자 이름이 존재할 경우 그 사용자는 at을 사용할 수 있음root만 사용 가능/etc/cron.allow 와 /etc/cron.deny 파일에 사용자 이름을 기록해 해당 사용자가 cron명령어를 사용할 수 있도록 할지 설정할 수 있음/etc/cron.allow파일은 관리자가 만들어야 함시스템 관리자만 사용 가능