413
403

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

うっかり起動してしまった時間のかかるプロセスをtmux上に付け替えたい

Last updated at Posted at 2015-12-15

うっかり生のシェル上で時間がかかるプログラムを起動してしまって困ったこと、ありませんか。
こういう時に使えるコマンドに、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とか入れていると出力が長いですし)

413
403
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
413
403

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?