[명령] jobs, fg, bg, ctrl+{c,z,d}, sleep, wait

markyang92·2021년 7월 13일
0

linux (ubuntu/debian)

목록 보기
18/36

sleep [sec]

  • sleep [second] 명령은 명시된 초 만큼 프로세스 실행을 중지(중지도 running상태)


ctrl+{c,z,d}

ctrl+c

  • 프로세스 강제 종료
  • kill -INT PID와 같다.
  • foreground job에 interrupt 신호(SIGINT)를 보내 종료 시킨다.

ctrl+z

  • 프로세스 중지
  • foreground job에 suspend 신호(SIGTSTP)을 보내 suspend 시키고, background에 있던 shell 프로세스를 foreground로 하여 명령을 입력받을 수 있게함
    • SIGTSTP은 프로세스에 의해 handle될 수 있는 점을 제외하곤 SIGSTOP과 같음
    • SIGSTOP은 프로세스에 의해 handle될 수 없음


ctrl+d

  • 입력 값으로 EOF(-1) 일반 입력 보냄
  1. canonical mode

    1.1 서버의 터미널이 입력을 처리하므로, ctrl+d를 EOF(-1) 일반 입력(signal XX)

  2. non-canonical mode
    2-1. 유저와 긴밀하게 상호작용.
    2-2. 입력한 키를 바로바로 받아들임

wait : bg 기다림

#!/bin/bash

for ((i=0;i<3;i++)); do
    (
        do_something..
    )&
done
wait <--- 여기서 위 3개 실행 시킨 bg process가 끝나길 기다림
if [ $? -ne 0 ]; then  <-- 3개 중 1개라도 bg가 돌아갈 경우 이 문장은 실행되지 않음
    exeption handling...
fi

  • wait specific PID
wait <PID>

지정한 PID만 기다린다.

profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글