출처 : http://linuxism.tistory.com/71
출처2 : http://mustbegames.tistory.com/18
일반적으로 프로세스가 종료될때까지 기다려야하는방식을 포그라운드이며
그반대가 백그라운드이다. 차이점은 &를 붙이느냐 안붙이느냐의 차이점
간단한예로
find 명령어를 통해 특정 파일을 찾을때
# find /home -name abc.html -print
이상태로 커맨드를 실행하면 파일을 찾을때까진 기다릴수밖에 없다
그러나
# find /home -name abc.html -print &
[1] 4747 --- pid값을 출력하고 명령프롬프트가 사용가능
#
#
[1]+ Done --- 명령어가 완료될때 출력
# jobs
백그라운드 실행중인 프로세스 출력
# fg
백그라운드 프로세스를 포그라운드로 변경
# bg
포그라운드 프로세스를 백그라운드로 변경
# ctrl+z
포그라운드 프로세스를 잠시 멈춤
fg로 포그라운드에서 다시 실행
bg로 백그라운드에서 다시 실행
# ctrl+c
포그라운드 프로세스 종료 시킴.
jobs : 현재 백그라운드로 돌아가는 프로그램 리스트
fg : 백그라운드로 실행되는 프로그램을 포그라운드
& : 프로세스를 백그라운드로 실행
예)
#> top & << top을 백그라운드로 실행
#> jobs << 백그라운드로 실행되는 프로그램을 확인
[1]+ Stopped top
#> fg %1 << 백그라운드로 실행되는 top명령을 다시 불러움
nohup /usr/local/java/bin/java -jar XDreamyi3shop.jar &
nohup -> 터미널에서 로그아웃을 해도 실행시킨 프로그램은 종료되지 않고 계속 돈다.
& -> 백그라운드 실행.. ps -aux를 치면.. 프로그램이 돌고 있음을 알 수 있다.