백그라운드 작업의 stdout / stderr를 콘솔에서 로그 파일로 리디렉션 하시겠습니까?

다니엘 YC 린

작업을 실행했습니다 (foo.sh 가정).

./foo.sh
[Press Ctrl-Z to stop]
bg  # enter background

그리고 stdout 및 stderr에 대한 출력을 생성합니다. 현재 화면 대신 다른 파일로 stdout 및 stderr로 리디렉션하는 방법이 있습니까?

s.wagner

분명히 처음으로 귀하의 질문을 잘못 읽었으므로 여기에 업데이트 된 답변이 있습니다.

프로그램을 백그라운드로 보낸 후 먼저 PID를 찾아야합니다.

pgrep foo.sh

그런 다음 gdb해당 프로세스에 연결하는 데 사용할 수 있습니다.

gdb -p <PID>

에서 gdb이 프로그램에 기록 어디 다음 변경

p dup2(open("/path/to/file",577, 420), 1)
p dup2(1, 2)

그런 다음 프로세스에서 분리하고 종료합니다. gdb

detach
quit

약간의 설명

  • 577 다음과 같다 O_CREAT|O_WRONLY|O_TRUNC
  • 420 다음과 같다 S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH
  • 따라서 호출 open은 파일 열고 존재하는 경우 0 바이트로 자르거나 존재하지 않는 경우 올바른 파일 권한으로 새 파일을 만듭니다.
  • 에 대한 첫 번째 호출 dup2에 파일 기술자가 호출에 의해 반환 중복 open파일 기술자 1(이다 stdout)
  • 두 번째 통화 dup2중복 파일 디스크립터 1에 대한 2(인 stderr)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

분류에서Dev

stdout 및 stderr를 파일로 리디렉션하고 stderr를 콘솔에 표시하는 방법은 무엇입니까?

분류에서Dev

출력을 로그 파일로 리디렉션하고 동시에 프로세스를 백그라운드 할 수 있습니까?

분류에서Dev

백그라운드에서 stdout 및 stderr을 리디렉션 할 수 없습니다.

분류에서Dev

stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

분류에서Dev

파일 및 콘솔에서 stdOut / StdErr 출력이있는 백그라운드 프로세스

분류에서Dev

파일 및 콘솔에서 stdOut / StdErr 출력이있는 백그라운드 프로세스

분류에서Dev

stdout과 stderr를 모두 파일로 리디렉션 할 때 stderr에서 stdout으로 리디렉션해야하는 이유는 무엇입니까?

분류에서Dev

exec와 tee를 사용하여 로그를 stdout과 로그 파일로 동시에 리디렉션

분류에서Dev

백그라운드에서 작업을 재개하고 표준 출력을 파일로 리디렉션 할 수 있습니까?

분류에서Dev

시작시 백그라운드에서 사용자를 로그인 하시겠습니까?

분류에서Dev

리디렉션하는 것을 잊었을 때 GNU 화면에서 실행되는 프로그램의 stdout 및 stderr를 저장하십시오.

분류에서Dev

bash : stderr를 파일로 리디렉션하고 stdout + stderr를 화면으로 리디렉션

분류에서Dev

Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

분류에서Dev

stderr를 파일로 리디렉션하고 일부 에코 (stdout 아님)를 동일한 파일로 리디렉션하는 방법

분류에서Dev

stderr 및 stdout의 일부를 / dev / null로 리디렉션하는 방법

분류에서Dev

동일한 솔루션에서 별도의 클래스 라이브러리와 함께 백그라운드 작업자를 사용할 수 있습니까?

분류에서Dev

백그라운드에서 SSH를 통해 실행중인 프로세스의 출력 리디렉션

분류에서Dev

systemd : stdout을 로그 파일로 리디렉션하는 방법

분류에서Dev

종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

분류에서Dev

Python의 하위 프로세스 / Popen에서 stdout을 stderr로 리디렉션

분류에서Dev

C # Word VSTO : "백그라운드"에서 Word 문서를 파일로 생성 하시겠습니까?

분류에서Dev

터미널에서 stdout 및 stderr을 systemd의 저널로 리디렉션하는 프로그램을 실행하는 방법은 무엇입니까?

분류에서Dev

Bash는 출력을 파일로 리디렉션하지 않고 백그라운드에서 실행됩니다.

분류에서Dev

stdout을 tcsh의 stderr로 리디렉션

분류에서Dev

stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

분류에서Dev

Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

분류에서Dev

실시간으로 디렉토리 수를 백그라운드 작업자 진행 상황에보고하려면 어떻게해야합니까?

분류에서Dev

시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

  2. 2

    stdout 및 stderr를 파일로 리디렉션하고 stderr를 콘솔에 표시하는 방법은 무엇입니까?

  3. 3

    출력을 로그 파일로 리디렉션하고 동시에 프로세스를 백그라운드 할 수 있습니까?

  4. 4

    백그라운드에서 stdout 및 stderr을 리디렉션 할 수 없습니다.

  5. 5

    stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

  6. 6

    파일 및 콘솔에서 stdOut / StdErr 출력이있는 백그라운드 프로세스

  7. 7

    파일 및 콘솔에서 stdOut / StdErr 출력이있는 백그라운드 프로세스

  8. 8

    stdout과 stderr를 모두 파일로 리디렉션 할 때 stderr에서 stdout으로 리디렉션해야하는 이유는 무엇입니까?

  9. 9

    exec와 tee를 사용하여 로그를 stdout과 로그 파일로 동시에 리디렉션

  10. 10

    백그라운드에서 작업을 재개하고 표준 출력을 파일로 리디렉션 할 수 있습니까?

  11. 11

    시작시 백그라운드에서 사용자를 로그인 하시겠습니까?

  12. 12

    리디렉션하는 것을 잊었을 때 GNU 화면에서 실행되는 프로그램의 stdout 및 stderr를 저장하십시오.

  13. 13

    bash : stderr를 파일로 리디렉션하고 stdout + stderr를 화면으로 리디렉션

  14. 14

    Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

  15. 15

    stderr를 파일로 리디렉션하고 일부 에코 (stdout 아님)를 동일한 파일로 리디렉션하는 방법

  16. 16

    stderr 및 stdout의 일부를 / dev / null로 리디렉션하는 방법

  17. 17

    동일한 솔루션에서 별도의 클래스 라이브러리와 함께 백그라운드 작업자를 사용할 수 있습니까?

  18. 18

    백그라운드에서 SSH를 통해 실행중인 프로세스의 출력 리디렉션

  19. 19

    systemd : stdout을 로그 파일로 리디렉션하는 방법

  20. 20

    종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

  21. 21

    Python의 하위 프로세스 / Popen에서 stdout을 stderr로 리디렉션

  22. 22

    C # Word VSTO : "백그라운드"에서 Word 문서를 파일로 생성 하시겠습니까?

  23. 23

    터미널에서 stdout 및 stderr을 systemd의 저널로 리디렉션하는 프로그램을 실행하는 방법은 무엇입니까?

  24. 24

    Bash는 출력을 파일로 리디렉션하지 않고 백그라운드에서 실행됩니다.

  25. 25

    stdout을 tcsh의 stderr로 리디렉션

  26. 26

    stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

  27. 27

    Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

  28. 28

    실시간으로 디렉토리 수를 백그라운드 작업자 진행 상황에보고하려면 어떻게해야합니까?

  29. 29

    시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

뜨겁다태그

보관