bash에서 실행중인 프로그램을 백그라운드로 이동


10

bash에서 프로그램을 실행하는 경우 Ctrl+ 를 눌러 프로그램을 일시 중단 할 수 있습니다 Z. 프로그램을 실행 상태로 두려면 bg명령 을 사용할 수 있습니다 . 입력하지 않고 백그라운드에서 프로그램을 직접 넣을 수있는 방법이 bg있습니까?

설명 : 프로그램이 이미 실행 중일 때 중단하지 않고 백그라운드에 프로그램을 넣고 싶습니다.


2
중복되지 않습니다. 터미널 창이 닫힐 때 프로그램을 계속 실행하고 싶지 않으며 다른 명령을 입력 할 수 없습니다. 프로세스가 이미 실행 중일 때 백그라운드에 프로세스를 넣고 싶습니다.
Kalle Elmér

1
예, 이것은 중복이 아닙니다. 이것을 다시여십시오.
saji89

이 문을 다시 여는 데 도움을 주신 모든 분들께 감사드립니다 .. @Kalle, 이제 질문이 다시 열립니다.
saji89

고마워요! 실제로 질문에 대한 답을 찾는 것과 관련하여 유일한 방법은 먼저 일시 중단 한 다음 배경을 그리는 것입니다.
Kalle Elmér

답변:


4

실행중인 프로그램을 백그라운드로 옮길 수는 없다고 생각합니다 (프로세스가 여전히 실행중인 상태입니다).
그러나 GNU-Screen 이라는 응용 프로그램이 있습니다.이 응용 프로그램을 사용하면 단일 터미널에서 여러 콘솔 기반 응용 프로그램 (대화식 명령 셸, curses 기반 응용 프로그램, 텍스트 편집기 등)을 실행할 수 있습니다.
다음은 GNU-Screen에 대한 훌륭한 튜토리얼 입니다.
그것은 당신이 요구 한 것을 정확하게하지는 않지만 어쨌든 목적을 제공한다는 점에 유의하십시오.
예 :
다음은 GNU-Screen을 사용하여 요청한 내용의 구현입니다.

  1. 실행 screen
    소프트웨어에 대한 세부 정보가 표시됩니다. Return 키를 누르십시오.
  2. 이제 일반 터미널이 표시되지만 화면의 창입니다 vlc. 모든 명령을 입력하십시오 . 해당 창 내에서 프로세스가 시작됩니다.
  3. 이제 새 창을 열고 Ctrl+를 입력 A한 다음 C여기에서 새 명령을 실행할 수 있습니다. 창 1에서 시작한 프로세스가 여전히 실행 중입니다.
  4. 화면에서 분리하려면 Ctrl+ A를 누른 다음을 누릅니다 D. 이제 이전 터미널로 돌아갑니다. 그러나 화면에서 시작한 프로세스는 여전히 실행 중입니다.

4

내 지식을 최대한 활용하면 다음 과 같이 & 를 추가 할 수 있습니다 .myprogram &

그러나 나는 여기에 매우 잘못되었을 수 있습니다.

[편집] : 자세히 살펴보면 위와 같이 실행 하면 터미널을 닫을 때 응용 프로그램이 닫힙니다. 응용 프로그램을 백그라운드에서 실행하려면 내가 아는 한 응용 프로그램을 데몬 동작을 지원하는 방식으로 작성해야합니다.

[편집 2] : nohup command & 달성하고자하는 것에 더 가깝게 나타납니다. Nohup은 응용 프로그램을 실행할 수있게하며 입력을 무시하고 출력을 nohup.out현재 디렉토리에서 호출 된 파일로 리디렉션합니다 .


터미널 창을 닫을 때 닫히면 신경 쓰지 않습니다. 내가 찾고있는 것은 Ctrl + Z처럼 작동하지만 프로세스를 일시 중단하지 않고 백그라운드에서 계속 실행하는 bash의 키보드 단축키입니다.
Kalle Elmér

0

이것은 실제 답변이 아닐 수도 있습니다. 우분투와 MSYS의 Bash가 어떻게 다른지 궁금합니다.

MSYS를 실행하고를 실행 Application/Chrome &하면 즉시 백그라운드 프로세스로 이동합니다. 다음 프롬프트 시작 깜박임으로 MSYS bash를 사용할 수 있습니다.

그리고이 질문은 실행중인 프로그램을 비슷한 의도 로 백그라운드 로 옮기는 것입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.