프로세스를 백그라운드 및 포 그라운드로 보내는 방법은 무엇입니까?


17

내가 ping google.com &하면 프로세스가 백그라운드로 이동하여 핑 정보를 계속 표시합니다. 터미널을 다른 명령과 함께 사용할 수는 있지만 ping의 출력과 다른 명령의 출력이 혼합되어 문제가되지는 않지만이 핑 프로세스를 전혀 종료 할 수는 없습니다.

이를 위해 전경으로 가져간 다음 ctrl + c 또는 무언가를 누르십시오. 을 사용해 보았지만 fg작동하지 않았습니다. ping google.com &ping 명령이 끝나면 return 키를 누른 후 어떻게 전경으로 돌아 오나요?


2
실제로 해결하려는 문제는 백그라운드 작업을 중단하는 것 같습니다. 포 그라운드로 가져올 필요가 없습니다. 백그라운드 프로세스 jobs의 작업 ID를 찾은 다음 사용 하여 종료 하십시오. jidkill %jid
gardenhead

답변:


30

fg작업을 포 그라운드하기위한 올바른 명령이지만, 둘 이상의 작업이 실행중인 경우 작업 번호를 지정해야합니다. only를 입력 fg하면 마지막 백그라운드 작업 (쉘에서 현재 작업으로 간주)이 포 그라운드로 이동합니다.

현재 직업을 얻으십시오 :

$ jobs
[1]+     ping google.com &

번호를 지정하여 작업을 포 그라운드하십시오.

fg %1

실행중인 프로세스의 출력으로 인해 명령이 손상 될 수 있지만 여전히 작동하므로 중단을 무시할 수 있습니다.

그런 다음 ctrl+ c를 눌러 프로세스를 중단하고 중지하십시오.

주석에서 언급 한 것처럼 작업 번호로 신호를 보낼 수도 있습니다 (예 : kill %1

완전성을 &위해 프로세스를 호출 할 때를 사용하지 않은 경우 먼저 ctrl+ z로 고정 한 다음 입력하여 백그라운드로 보낼 수 있습니다bg


1
fg최소한 하나의 백그라운드 작업 만있을 때는 인수없이 간단히 작동하는 것 같습니다.
Cedric Reichenbach

1
@CedricReichenbach가 편집했습니다!
잔나

-2

질문에 대답하기 위해 , 프로세스의 결과를 배경과 전경으로 보내는 방법은 무엇입니까? tee명령을 수행합니다

컴퓨팅에서 tee는 표준 입력을 읽고 표준 출력과 하나 이상의 파일에 기록하여 입력을 효과적으로 복제하는 표준 스트림을 사용하는 명령 줄 인터프리터 (쉘)의 명령입니다. https://ko.wikipedia.org/wiki/Tee_ (명령)


5
당신은 여기에 뭔가 오해하고 있습니다 ...
바이트 사령관
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.