[USER@SERVER ~] sleep 3 &
[1] 5232
[USER@SERVER ~]
[1]+ Done sleep 3
[USER@SERVER ~]
이 두 메시지가 포함된 /dev/null을 어떻게 얻나요? :
[1] 5232
[1]+ Done sleep 3
추신: 따라서 프로세스의 출력이 필요하지만 언급된 두 줄은 필요하지 않습니다!
답변1
프로그램 출력은 아니지만 유용한 쉘 정보입니다.
어쨌든 서브쉘과 출력 리디렉션을 사용하여 숨길 수 있습니다.
( sleep 3 & ) > /dev/null 2>&1
답변2
Bash 또는 zsh에서는 호출하여 disown %1
쉘에 작업을 잊도록 지시할 수 있습니다. 그러면 쉘은 작업에 대한 메시지를 인쇄하지 않으며 jobs
SIGHUP을 실행하거나 보낼 때 메시지도 표시하지 않습니다. zsh에서 &!
작업을 시작하는 대신 사용하는 것은 즉시 호출하는 &
것과 같습니다 .disown
답변3
노력하다:
user@host:~$ read < <( sleep 10 & echo $! )
user@host:~$ echo $REPLY
28677
그리고 당신은 숨겼어요산출그리고PID. 여전히 검색할 수 있습니다.PID$REPLY에서
답변4
@Gilles는 아직 댓글을 달 수 없지만 & disown
bash에서도 작동하는 것 같습니다.
sleep 3 & disown