프로세스 시작 후 리디렉션

프로세스 시작 후 리디렉션

터미널에서 Firefox를 호출 firefox한 다음 터미널로 돌아간다고 가정해 보겠습니다. 이제 ctrl-z를 사용하여 프로세스를 일시 중지하고 ctrl-z를 사용하여 백그라운드에서 다시 시작할 수 있습니다 bg. 그러나 터미널에서는 계속 출력이 생성됩니다. 이 시점에서 리디렉션할 수 있는 방법이 있나요? 즉, firefox &>/dev/null &애초에 작성한 결과를 얻으려면?

답변1

를 사용하여 이 작업을 수행할 수 있습니다 gdb. Ctrl+ 를 사용하여 프로세스를 일시 중지한 경우 일시 중지 메시지에 포함될 수 있는 Firefox의 프로세스 ID(PID)를 찾아야 합니다 Z.

메시지에 터미널의 PID가 포함되어 있지 않으면 다음을 사용하여 찾을 수 있습니다.

ps aux | grep firefox

이렇게 하면 다음 명령을 사용하여 시작할 수 있습니다 gdb.

sudo gdb -p PID

프로그램에서 이러한 명령은 stdout 및 stderr을 /dev/null.

p dup2(open("/dev/null",0),1)
p dup2(open("/dev/null",0),2)
detach
quit

관련 정보