
このように仕事を始めるとしましょう。
foo
それからそれを背景にしたいと思います。Ctrl+を入力するZとbgトリックが実行されますが、+とfoo
の間で停止します。最初にfooを凍結せずにバックグラウンドに入れることはできますか?CtrlZbg
答え1
&
コマンド()の後に記号を追加すると、foo &
すぐに背景になります。しかし、私は方法がないと信じています。基準一部の背景コンテンツに使用される端末/シェルの構成まもなく一応前景です。
答え2
技術的にはfoo
すでにバックグラウンドで実行されています。 2番目のターミナルセッションを開始でき、他の操作を実行している間は、最初のターミナルセッションがfoo
実行され続けます。
Xでは、単に2番目のターミナルアプリケーションを起動するか、選択したターミナルエミュレータにその機能がある場合は別のタブを開くことが含まれます。
コンソールに計画がない場合は、別の仮想端末に切り替えて再度ログインする必要があります。
screen
あるいは、同じ端末マルチプレクサを使用している場合は、tmux
別のセッションを開始できます。たとえば、画面ではCtrl+Aの後に+を使用してCtrl実行されますC。これらを切り替えるには、Ca Cn と Ca Cp を使用してターミナルセッション間を前後に切り替えます。
答え3
フォアグラウンドからバックグラウンドにアプリケーションを送信するには、端末とシェルの協力が必要です。端末は、シェルがフォアグラウンドプロセスグループを設定する必要があるため、単独では実行できません。端末がキー押下を処理する必要があるため、シェルはこの操作を単独で実行できません(シェルは前景にないため、キー押下を受信できません)。
私zshの構成+をすばやく連続して2回押すことができますCtrl。Z最初に押すとプロセスが一時停止し、2回目を押すとバックグラウンドで再起動されます。これをbashに移植する方法がわかりません。
キー入力注入を許可する端末エミュレータで実行している場合は注入できます^Zbg^M
(^
制御文字記号を使用)。たとえば、X11端末エミュレータの場合、xdotool --window 1234 Ctrl_L+Z b g Return
1234が端末エミュレータのウィンドウIDである場合に実行します。 Screenの場合、ここでscreen -S foo -p 12 -X stuff $'\032bg\r'
はfoo
スクリーンセッションの名前、12
ウィンドウIDです。
答え4
この状況で入力速度が十分に速くない場合は、kill -s SIGSTOP 1023 && kill -s SIGCONT 1023
1023をターゲットPIDとし、別のシェルで実行してください。
免責事項:ルスランbash
このシーケンスは、実際にはユーザーが気づかないようにタスクを早く再開することを示しています。