うっかり生のシェル上で時間がかかるプログラムを起動してしまって困ったこと、ありませんか。
こういう時に使えるコマンドに、reptyrがあります。
インストール
Debianなら
$ sudo aptitude install reptyr
多分ubuntuでもこれでおkです。
使い方
$ ps aux|grep hoge
でPIDを調べて、
$ tmux
$ reptyr ほげ
でptyを付け替えられます。
その他
sshが落ちてそのままになったviとかもこれでつけ変わるっぽいです。
追記
ubuntuの場合
$ sudo echo 0 > /proc/sys/kernel/yama/ptrace_scope
しないとptraceシステムコールがうまく動かないって書いてありましたが確かめていません
gdbでttyを付け替える
gdbでデバッグしている時、gdbの出力とコマンドの出力がごっちゃになって鬱陶しいことがままあります。
gdbserverを使うのも一つの手ですが、reptyrでも出力先を変えられるようです。
gdbとは別のターミナルで
$ reptyr -l
Opened a new pty: /dev/pts/ほげ
して新しいptyを開き、gdb上で
$ set inferior-tty /dev/pts/ほげ
とかすると入出力先が変わります。gdbを終了するとreptyrも終了します。
実はこちらもかなり便利でした。(特にpedaとか入れていると出力が長いですし)