Macのターミナル上でRubyのpryを使っている際、Ctrl-Kなどでカットした文字列を貼り付けようとCtrl-Yをタイプすると、サスペンドしてしまうことがあります。ちなみにirbだと発動しません。
$ pry [1] pry(main)> [^Yをタイプ] [1]+ Stopped pry $
これはDSUSPという機能によるもの。Ctrl-Z(susp)が入力されたら直ちにジョブをサスペンドさせるのに対し、Ctrl-Y(dsusp)はこのキーで入力された制御文字をプロセスがreadしたタイミングでジョブをサスペンドさせるというもので、BSD互換の環境のみで利用可能な機能だそうです。
https://www.gnu.org/software/libc/manual/html_node/Signal-Characters.html
Mac上でsttyを使ってキー割り当てを調べてみると、
$ stty -a speed 9600 baud; 60 rows; 80 columns; ... cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;
dsusp = ^Y となっているのが分かります。
Liunx環境では発生しないこともあり、よくMacでだけハマって面倒なので、dsuspを無効化します。
無効化するには
stty dsusp undef
を実行すればOK。自動化するなら .bashrc とか .zshrc に
tty >/dev/null && stty dsusp undef
などと書いておけば良いでしょう。