답변:
해당 프로세스의 표준 파일 디스크립터를 얻을 수 있습니다. 예 stdout
:
tail -f /proc/<pid>/fd/1
# ls -la /proc/24510/fd/1 lrwx------ 1 root root 64 Oct 31 08:34 /proc/24510/fd/1 -> socket:[444026]
여기 몇 가지 옵션이 있습니다. 하나는 명령의 출력을 파일로 리디렉션 한 다음 tail
해당 파일에 실시간으로 추가되는 새 줄을 보는 데 사용 하는 것입니다.
또 다른 옵션은 내부에서 프로그램을 시작 screen
하는 것인데, 일종의 텍스트 기반 터미널 응용 프로그램입니다. 스크린 세션은 연결하거나 분리 할 수 있지만 명목상 동일한 사용자 만 사용하도록되어 있으므로 사용자간에 공유하려면이 세션을 사용하십시오.
그렇지 않으면 프로세스를 추적하고 프로세스가 수행하는 작업을 볼 수 있습니다 strace
.
strace -e trace=open -p 22254 -s 80 -o output.txt
-p PID
: 프로세스 ID PID로 프로세스에 첨부하고 추적을 시작하십시오.-s SIZE
: 인쇄 할 최대 문자열 크기를 지정합니다 (기본값은 32).-o filename
: 추적 출력을 화면 (stderr)이 아닌 파일 파일 이름에 씁니다.아래에 제공된 이러한 명령을 사용하여 다른 터미널에서 실행중인 프로세스를 연결할 수 있습니다.
retty
(Man page : retty )reptyr
screen
예:
screen -S PID
retty $(pgrep PID)
reptyr PID
sudo apt-get install retty
있지만 retty에는 제한이 거의 없습니다. 답변에 언급 된 맨 페이지를 확인하십시오.