shell process 이해

숲사람·2022년 3월 24일
0

UNIX & C

목록 보기
4/12

Unix Shell 에서 쉘스크립트 또는 프로그램(명령어)을 실행하는 다양한 방법이 있다. 각각의 방식에 따라 수행되는 프로세스가 현재 쉘의 프로세스에서 실행될 수도 있고, 자식 프로세스에서 실행될 수도 있다.

쉘스크립트 실행

  • . cmd.sh : current process 에서 실행됨
  • source cmd.sh : current process
    .source는 스크립트 내부에서 cd하면 현재 shell에서 디렉터리 이동한다.
  • bash cmd.sh : child process
  • ./cmd.sh : child process
    스크립트 내에 cd가 있다면, child process에서 동작할뿐 현재 shell에서 동작하지 않는다.

프로그램 실행

  • exec a.out: current process 인 shell이 a.out로 대체되어버림. 따라서 a.out가 동작한뒤 shell이 바로 종료.
  • eval a.out: child process ( script는 사용불가 cmd만 사용 가능)
profile
기록 & 정리 아카이브 용도 (보다 완성된 글은 http://soopsaram.com/documentudy)

0개의 댓글