백그라운드에서 프로세스를 실행하면 명령 프롬프트에 프로세스 ID가 표시됩니다. 예를 들어:
$ gvim 1 &
[3] 9584
이제 다른 프로세스를 실행하면 이전 프로세스의 상태도 표시됩니다. 예를 들어:
$ gvim 2 &
[4] 9500
[3] Done gvimBackground 1
현재 PID 및 이전 프로세스와 관련된 데이터의 표시를 억제할 수 있는 방법이 있습니까?
답변1
전체 주문을 넣어주세요.포함하다 &
,괄호 안:
(빠르게)$
gvim 1 &
[3] 9584
(빠르게)$다른 명령
[3] Done gvimBackground 1
(빠르게)$(gvim 1 &
)
<——(침묵)
(빠르게)$
답변2
새 작업을 시작할 때 다른 작업의 상태를 보고하는 대신 기본값은 프롬프트가 표시되기 전에 상태 변경만 보고하는 것입니다. 따라서 귀하의 경우 첫 번째 기회에, 즉 두 번째 작업을 시작한 후 표시되는 프롬프트에 보고됩니다.
다음 명령을 실행하여 작업 보고서를 동기화할 수 있습니다.
set -b
이 경우 백그라운드 작업 완료 또는 일시 중단에 대한 보고는 발생 즉시 완료되며 다음 프롬프트를 기다릴 필요가 없습니다.
@Scott이 말했듯이 작업 완료 알림을 받지 않으려면 subshell에서 작업으로 시작하거나 (job &)
명령 을 disown
사용하거나 (또는 zsh를 사용하여 다음으로 시작 ) 할 수 있습니다. 다시 전경으로 가져오거나 작업 번호를 사용하여 종료합니다.disown
job &!