Я запускаю процесс, который займет несколько часов. Я хотел бы отключиться от сервера, но не хочу, чтобы вывод на экран пропадал. Есть ли способ вернуть процесс на мой экран после отключения? Это скрипт 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
оригинальный процесс.