2011-04-21 2 views
1

는 내가 우연히 한 문제를 설명하는 비트 복잡한 있습니다명령 행에서 생성 된 서브 프로세스를 nohup하려면 어떻게해야합니까?

  1. 내가 오랫동안 실행 가 파일에의 표준 오류 리디렉션 과정을 nohupped 있습니다.
  2. 그러나 하위 프로세스를 사용하여 stderr를 타임 스탬프로 스탬프 처리합니다.
  3. 위의 하위 프로세스는 불행히도 nohupped (내 나쁜) 아닙니다!
  4. 이제 어떻게이 하위 프로세스를 nohupped로 가져오고 stderr를 유지하고 로그 아웃 한 후에도 계속 파일에 접근 할 수 있습니다. 서버를 로그 아웃해야합니다.

    $ nohup myscript.sh -op1 val1 -op2 val2 -op3 val3 >mystderr.txt 2> >(while read line; do echo "$(date): ${line}"; done > n100l1800g0.5.err) < /dev/null & 
    

    표준 오류 스탬핑의 위의 기술은 유래에 바로 여기에 최근에 배운 :

문제의 커맨드는 다음과 같이 보인다.

미리 감사드립니다.

답변

1

내가 가진 nohup에 대한 man 페이지는 nohup [ options ] command [arg ...]이라고합니다.

나는 nohup이 파이프 라인을 처리하지 않는다는 것을 읽었던 것을 기억합니다. 나는 생각합니다.

인수를 허용하는 스크립트로 파이프 라인 프로세스를 다시 작성하면 제대로 작동합니다.

이 정보가 도움이되기를 바랍니다.

관련 문제