nohup을 stdout으로 리디렉션


14

nohup으로 프로세스를 시작하고 파일 대신 stdout에 쓸 수 있습니까? 아니면 파일과 화면에서?

nohup python start.py &

에 기록 nohup.out,하지만 난 nohup을 만 헤지 때 연결이 끊어로 의미, 화면에 출력에 싶습니다.


그러나 연결이 끊어진 후 프로그램이 출력되면 어떻게됩니까?
womble

답변:


4
  1. nohup python start.py & tail -f nohup.outtail -f사망하고 의지에서 다시 시작할 수 있습니다.

  2. screen python start.py 마음대로 연결을 끊거나 다시 연결하십시오.


10

보낸 사람 man nohup:

표준 입력이 터미널 인 경우 / dev / null에서 리디렉션하십시오. 표준 출력이 터미널 인 nohup.out 경우 가능하면 출력을 추가하십시오 $HOME/nohup.out. 표준 오류가 터미널 인 경우 표준 출력으로 리디렉션하십시오. 출력을 FILE에 저장하려면을 사용하십시오 nohup COMMAND > FILE.

(완전히 의견에 따라 수정)
쉘을 종료하거나 터미널을 닫을 때, 자식 프로세스는 SIGHUP을 전송됩니다 (끊기은 단말기가 UNIX 컴퓨터에 전화 할 때부터 이름이 유래) 그들에게 터미널은 전혀 없다는 것을 더 긴 연결. 또한 쉘 프로세스가 종료되면 하위 프로세스의 stdin, stdout 및 stderr 스트림이 닫힙니다. 일반적으로 이로 인해 자식 프로세스가 종료됩니다. 일반적으로 이것은 사용자없이 프로세스를 계속 실행하지 않기 때문에 좋은 방법입니다.

nohup프로그램 의 목적은 쉘이 종료되고 터미널 연결이 끊어진 후에도 프로세스가 계속 실행되도록하는 것입니다. 따라서 출력을 터미널로 보내는 것은 목적을 완전히 상실합니다. 내 원래의 답변 ( nohup COMMAND | cat)은 도움이되지 않았습니다. 터미널이 닫히면 고양이의 출력이 닫히고 고양이가 죽어서 파이프가 끊어지고 SIGPIPE가 nohup 프로세스로 보내져 죽습니다. 나는 목적을 생각하지 않고 질문에 대답했다.

목적을 달성하려면 nohup COMMAND > FILE출력을 지시 할 파일 이름을 선택하여 실행 하십시오. 그런 다음 tail -f FILE터미널에서 출력을 보는 데 사용 하십시오.

마찬가지로, 다음과 같은 쉘 구성을 사용할 수 있습니다. COMMAND >FILE 2>&1 </dev/null &stdio 스트림이 터미널에 연결되지 않은 터미널을 닫은 후에도 계속 실행할 수 있습니다. 또한 zsh에서 쉘 내장 disown을 실행하여 쉘이 종료 될 때 프로세스를 종료하지 않고 zsh에게 프로세스를 종료하도록 지시하십시오.


1
한 가지 좋은 추가 사항 : nohup 명령이 이미 파일 이름으로 시작된 경우 파일 tail -f filename에 쓰여진 내용을 볼 수 있습니다 .
Hennes

연결이 중지되면 더 이상 파일이 기록되지 않습니다.
Davoud Taghawi-Nejad

당신 말이 맞습니다 : 나는 질문에 대답했지만 (출력을 터미널에 보냄) 목적을 이겼습니다. 나는 그에 따라 대답을 다시 썼다.
dsh

-1
vladimir@lin-mint-cin:~$ tty<br>
/dev/pts/8<br>
vladimir@lin-mint-cin:~$ ln -sf /dev/pts/8 nohup.out<br>
vladimir@lin-mint-cin:~$ nohup ls<br>
nohup: ввод игнорируется, вывод добавляется в 'nohup.out'<br>
2019-05-31-090159.jpg    giphy.gif        nim_porojects   sketchbook
Aptana_Studio_Workspace  IdeaProjects         nohup.out       target
Desktop          jack_capture_01.wav  Pictures        Templates
Documents        lib              Postman         tmp
Downloads        mad              Projects        trace.edn
eclipse          Mail             prolog_ws       uinfild_hill-iskusstvo_shemotehniki_tom_1_izd4-e-1489315100.pdf
eclipse-dsl-workspace    Music            proxy-secret    Videos
eclipse-workspace    mygolo           Public          workspace-dltk
erlang_ex        my_golo_ws       rust-workspace  проекты
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.