프로세스
프로그램이나 명령어를 실행했을 때 메모리에 적재되어 실제로 동작하는 상태
프로세스가 실행되면 프로세스 식별번호(PID, Process id)를 할당 받음
명령어 ps : 프로세스의 정보를 확인
옵션 -e 프로세스 전체 목록 출력
옵션 -f PID,PPID 정보를 포함
=> ps -ef 로 사용 ! (PID, PPID 순으로 출력)
PPID는 부모 프로세스
프로세스 종료 : kill [signal] [PID]
signal
1 : 프로세스 실행
2 : ctrl+c 프로세스 종료
9 : 커널을 통해 직접적으로 종료 (강제종료)
15 : 프로세스를 통해 정상 종료
==> kill -9 3250 처럼 사용
pkill : 프로세스의 이름을 이용해 종료 (같은 이름으로 동작중인 프로세스를 동시에 제어)
포그라운드
일반적으로 프로그램이 실행되는 방식
ctrl+c, ctrl+z가 먹힘
ctrl+z는 stop이므로 입력 후 백그라운드로 전환 가능
백그라운드
명령이 실행시킨 프로그램 뒤에서 실행되는 방식
장시간 동작해야 하는 프로그램은 대부분 백그라운드 방식으로 동작
백그라운드 프로세스는 kill을 사용하여 종료
사용 방법 : 명령어 입력 뒤에 &
백그->포그 : fg 작업번호 &
포그->백그 : bg 작업번호 &
nohub : 포그라운드에서 로그아웃 후에는 종료되는 것이 맞지만 nohub를 이용하면 로그아웃 후에도 동작 유지
#nohub <명령어>
crond [스케줄링]
예약 작업 관리
관리자가 원하는 작업을 예약해 두고 정해진 시간에 주기적으로 반복하여 실행
주기적인 서버의 백업이나 로그를 관리할 때 유용
# crontab -e 로 들어가서 설정
# crontab -l 예약목록 확인
# crontab -r 삭제
분 시 일 월 요일(0~6) 명령
ex) */5 * * * * echo "5분 경과"
==> 로그에 5분마다 문자열 출력
vi /var/log/cron 에서 실행기록 확인
문제
- 매일 6시 30분에 /data1/1.txt에 hi 출력
# crontab -e
30 6 * * * echo hi >> /data1/1.txt
crontab -l 로 확인
2. 매월 매일 01시 정각에 rdate 명령을 실행하여 time.bora.net과 시간을 동기화
# crontabe -e
* 1 * * * rdate -s time.bora.net
3. 매월 매일 6시간마다 30분이 될 때 /root/backup 디렉터리에 /home/ 디렉터리 내용을 압축하여 저장
# crontabe -e
30 */6 * * * tar zcvf /root/backup/test.tar.gz /home
'운영체제' 카테고리의 다른 글
SSH(Secure Shell) (0) | 2021.06.24 |
---|---|
데몬과 xinetd 환경 설정, TCP Wrapper (0) | 2021.06.23 |
계정 생성 실습 (0) | 2021.06.21 |
Linux - MAC Address를 변경했을 때 (vm ware 환경) (0) | 2021.06.17 |
[Linux] ln - 파일 링크 (0) | 2021.06.17 |