Назад | Перейти на главную страницу

Перенести процесс на экран

Я запускаю процесс, который займет несколько часов. Я хотел бы отключиться от сервера, но не хочу, чтобы вывод на экран пропадал. Есть ли способ вернуть процесс на мой экран после отключения? Это скрипт Python, который работает, и он находится в Red Hat 6.3.

Вернитесь в прошлое и ругайте себя за то, что не думаете заранее.

Затем запустите gdb для запущенной программы, взломайте ее и повторно откройте STDOUT для файла. Тогда вы сможете работать в фоновом режиме и не запускать его без потери вывода.

(gdb) attach 18456
Attaching to process 18456
...
(gdb) call open("/tmp/myoutput.txt", 0102)
$1 = 3
(gdb) call dup2(3,1)
$2 = 1
(gdb) call close(3)
$3 = 0
(gdb) detach 
Detaching from program: /usr/bin/python2.7, process 18456
(gdb) quit

Тогда ты можешь Ctrl-Z, bg, и disown оригинальный процесс.