programing

현재 실행 중인 리눅스 프로세스를 백그라운드로 어떻게 배치할 수 있습니까?

starjava 2023. 4. 27. 21:45
반응형

현재 실행 중인 리눅스 프로세스를 백그라운드로 어떻게 배치할 수 있습니까?

리눅스 셸에서 git를 사용하여 파일을 원격 서버로 업로드하는 명령이 있는데 완료하는 데 많은 시간이 걸릴 것입니다.

어떻게 하면 그 실행 중인 프로그램을 백그라운드에 배치할 수 있습니까?셸 작업을 계속할 수 있고 그 과정도 완료될 수 있도록?

CTRL+Z를 사용하여 프로세스를 일시 중단한 다음 명령을 사용합니다.bg백그라운드에서 다시 시작합니다.예:

sleep 60
^Z  #Suspend character shown after hitting CTRL+Z
[1]+  Stopped  sleep 60  #Message showing stopped process info
bg  #Resume current job (last job stopped)

작업 제어에 대해 자세히 알아보기bg에 있어서의 용법.bash수동 페이지:

작업 제어
프로세스가 실행 중인 동안 일시 중단 문자(일반적으로 ^Z, Control-Z)를 입력하면 프로세스가 중지되고 제어가 bash로 돌아갑니다. [...] 그런 다음 bg 명령을 사용하여 백그라운드에서 작업을 계속할 수 있습니다. [...]^Z는 즉시 적용되며 보류 중인 출력 및 자동 검색이 취소되는 추가적인 부작용이 있습니다.

bg [nexpec...]
&로 시작한 것처럼 백그라운드에서 일시 중단된 각 작업 사양을 다시 시작합니다.작업 규격이 없는 경우 셸의 현재 작업 개념이 사용됩니다.

편집

단말기를 죽일 수도 있지만 실행을 계속하는 프로세스를 시작하는 것.

nohup [command] [-args] > [filename] 2>&1 &

예.

nohup /home/edheal/myprog -arg1 -arg2 > /home/edheal/output.txt 2>&1 &

출력을 무시하려면(매우 현명하지는 않음) 파일 이름을 다음으로 변경합니다./dev/null

오류 메시지를 다른 파일로 설정하려면 다음을 변경합니다.&1파일명으로

추가:사용할 수 있습니다.jobs명령을 사용하여 백그라운드 프로세스의 인덱싱된 목록을 확인할 수 있습니다.실행하면 백그라운드 프로세스를 종료할 수 있습니다.kill %1또는kill %2숫자는 공정의 인덱스입니다.

언급URL : https://stackoverflow.com/questions/13676457/how-can-i-put-the-current-running-linux-process-in-background

반응형