bash에서 프로그램을 실행하는 경우 Ctrl+ 를 눌러 프로그램을 일시 중단 할 수 있습니다 Z. 프로그램을 실행 상태로 두려면 bg명령 을 사용할 수 있습니다 . 입력하지 않고 백그라운드에서 프로그램을 직접 넣을 수있는 방법이 bg있습니까?
설명 : 프로그램이 이미 실행 중일 때 중단하지 않고 백그라운드에 프로그램을 넣고 싶습니다.
bash에서 프로그램을 실행하는 경우 Ctrl+ 를 눌러 프로그램을 일시 중단 할 수 있습니다 Z. 프로그램을 실행 상태로 두려면 bg명령 을 사용할 수 있습니다 . 입력하지 않고 백그라운드에서 프로그램을 직접 넣을 수있는 방법이 bg있습니까?
설명 : 프로그램이 이미 실행 중일 때 중단하지 않고 백그라운드에 프로그램을 넣고 싶습니다.
답변:
실행중인 프로그램을 백그라운드로 옮길 수는 없다고 생각합니다 (프로세스가 여전히 실행중인 상태입니다).
그러나 GNU-Screen 이라는 응용 프로그램이 있습니다.이 응용 프로그램을 사용하면 단일 터미널에서 여러 콘솔 기반 응용 프로그램 (대화식 명령 셸, curses 기반 응용 프로그램, 텍스트 편집기 등)을 실행할 수 있습니다.
다음은 GNU-Screen에 대한 훌륭한 튜토리얼 입니다.
그것은 당신이 요구 한 것을 정확하게하지는 않지만 어쨌든 목적을 제공한다는 점에 유의하십시오.
예 :
다음은 GNU-Screen을 사용하여 요청한 내용의 구현입니다.
screenvlc. 모든 명령을 입력하십시오 . 해당 창 내에서 프로세스가 시작됩니다. 내 지식을 최대한 활용하면 다음 과 같이 & 를 추가 할 수 있습니다 .myprogram &
그러나 나는 여기에 매우 잘못되었을 수 있습니다.
[편집] : 자세히 살펴보면 위와 같이 실행 하면 터미널을 닫을 때 응용 프로그램이 닫힙니다. 응용 프로그램을 백그라운드에서 실행하려면 내가 아는 한 응용 프로그램을 데몬 동작을 지원하는 방식으로 작성해야합니다.
[편집 2] : nohup command & 달성하고자하는 것에 더 가깝게 나타납니다. Nohup은 응용 프로그램을 실행할 수있게하며 입력을 무시하고 출력을 nohup.out현재 디렉토리에서 호출 된 파일로 리디렉션합니다 .
이것은 실제 답변이 아닐 수도 있습니다. 우분투와 MSYS의 Bash가 어떻게 다른지 궁금합니다.
MSYS를 실행하고를 실행 Application/Chrome &하면 즉시 백그라운드 프로세스로 이동합니다. 다음 프롬프트 시작 깜박임으로 MSYS bash를 사용할 수 있습니다.
그리고이 질문은 실행중인 프로그램을 비슷한 의도 로 백그라운드 로 옮기는 것입니까?