Eu sabia que estava me agarrando ao canudo, mas o UNIX nunca falha!
Veja como eu consegui:
bash$ gdb --pid 8909
...
Loaded symbols for /lib/i386-linux-gnu/i686/cmov/libnss_files.so.2
0xb76e7424 in __kernel_vsyscall ()
Em seguida, no prompt (gdb)
, executei o comando call write_history("/tmp/foo")
, que gravará esse histórico no arquivo /tmp/foo
.
(gdb) call write_history("/tmp/foo")
$1 = 0
Eu então me separo do processo.
(gdb) detach
Detaching from program: /bin/bash, process 8909
e saia do gdb
.
(gdb) q
E com certeza ...
bash$ tail -1 /tmp/foo
while true ; do echo 1 ; echo 2>/dev/null ; sleep 30 ; done
Para facilitar a reutilização futura, escrevi um script bash , automatizando o processo.