2016-09-20 4 views
0

У меня есть скрипт, который работает в bg (nohup), но он был удален, но это продолжается, теперь мне нужно отредактировать код, который уже удален.восстановление удаленного сценария, выполняющегося в фоновом режиме

Как я могу получить этот код. Я предполагаю, что он должен быть как он работает.

ответ

0

Попробуйте это:

#!/bin/bash 

if [[ ! $1 || $1 == -h || $1 == --help ]]; then 
    echo -e "Usage:\n\n\t$0 '[path/]<file name>'" 
    exit 1 
fi 

files=(
    $(file 2>/dev/null /proc/*/fd/* | 
     grep "(deleted)'$" | 
     sed -r '[email protected](:.*broken\s+symbolic\s+link\s+to\s+.|\(deleted\).$)@ @g' | 
     grep "$1" | 
     cut -d' ' -f1 
    ) 
) 

if [[ ${files[@]} ]]; then 
    for f in ${files[@]}; do 
     echo "fd $f match... Try to copy this fd to another place quickly!" 
    done 
else 
    echo >&2 "No matching fd found..." 
    exit 2 
fi 

Не тестировался на не GNU-Linux

+0

Не забудьте upvote/принять, если ответ соответствует вашим потребностям. Проверьте http://stackoverflow.com/help/why-vote и http://stackoverflow.com/help/accepted-answer –

+0

Файл является файлом символьного Spl, без разрешения, как разрешить это –

+0

У вас должно быть разрешение на чтение , попробуйте скопировать: 'cp/dev/fd42/tmp/backup'. Редактор не может открыть файл. Это специальный файл –

 Смежные вопросы

  • Нет связанных вопросов^_^