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

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

그렇게 하면 ping google.com &프로세스가 백그라운드로 들어가고 계속해서 핑 세부 정보가 표시됩니다. 다른 명령과 함께 터미널을 계속 사용할 수 있지만 ping의 출력과 다른 명령의 출력이 혼합되지만(문제 없음) 이 ping 프로세스를 전혀 종료할 수 없습니다.

이를 위해 전경으로 가져온 다음 Ctrl + C 등을 누르기를 원합니다. 를 사용해 보았지만 fg역시 작동하지 않았습니다. 그러면 ping google.com &ping 명령이 끝날 때 Return 키를 누른 후 어떻게 다시 전경으로 돌아가게 합니까 ?

답변1

fg작업을 전경화하는 올바른 명령이지만 실행 중인 작업이 두 개 이상인 경우 작업 번호를 지정해야 합니다. 만 입력하면 fg마지막 백그라운드 작업(셸에서 현재 작업으로 간주됨)이 포그라운드로 이동됩니다.

현재 작업을 가져옵니다.

$ jobs
[1]+     ping google.com &

다음 번호를 지정하여 작업을 전경화합니다.

fg %1

명령은 실행 중인 프로세스의 출력에 의해 중단될 수 있지만 계속 작동하므로 중단을 무시할 수 있습니다.

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

코멘트에서 언급했듯이 작업 번호별로 신호를 보낼 수도 있습니다. 예를 들어kill %1

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

관련 정보