터미널 세션에서 실행중인 스크립트 복구 / 프로그램을 관리하고 있습니다. 멀티플렉싱

그래서 GNU Screen 을 사용하여 여러 개의 실행중인 스크립트 / 프로그램을 관리하고 있습니다. 멀티플렉싱 및 분리가 매우 유용합니다.

디스크에서 스크립트를 제거했는데 백업을 찾는 데 문제가 있습니다. 그러나 파일을 삭제하기 전에 터미널 세션 중 하나가 스크립트를 실행 중이며 계속 정상적으로 작동합니다.

이 파일의 내용을 복구하기 위해 현재 스크립트를 실행중인 터미널 세션을 가로채는 방법이 있습니까?



답변

사용하여 스크립트의 pid를 찾으십시오. ps

ps -ef|grep script.sh
Fdo  8983  8463  0 12:28 pts/2    00:00:00 /bin/bash ./script.sh

확인 /proc/$PID/fd/; 스크립트 파일에 대한 링크가 끊어졌지만 작동 cat 해야 합니다 (스크립트가 실행되는 동안)!

cat /proc/8983/fd/255
#!/bin/bash
# script contents!

행운을 빕니다!