仮定gedit
あなたが切り離さ実行したいプログラムがある(別名。「否認」、「ほぐし」、「デカップリング」)。正確に何をしたいかによって、さまざまな方法があります。
すでに実行中のプログラム
否認:
disown -h
すでに実行中のプログラムでそれをしたい場合(つまり、忘れたnohup
場合)に行く方法です。最初にCtrl+ を使用して停止する必要がありZます。次に、bg [jobId]
(などbg 1
)を使用してバックグラウンドで配置できます。を使用して、jobIdで実行中のジョブのリストを取得しjobs
ます。その後、を使用してターミナルから分離できますdisown -h %[jobId]
。端末セッションの例:
$ gedit
^Z
[1]+ Stopped gedit
$ jobs
[1]+ Stopped gedit
$ bg 1
[1]+ gedit &
$ disown -h %1
$ exit
プログラムはまだ開始されていません
いや
nohup
すべてのマシンに常に存在するとは限りません。事前に分離したいことがわかっている場合は、次を使用します。
nohup gedit &
たぶん、シェル出力もリダイレクトし、プログラムを疑似入力ソースにしたいかもしれませんnohup ./myprogram > foo.out 2> bar.err < /dev/null &
。出力に迷惑をかけないように、または後で使用するために、出力をリダイレクトしたいでしょう。ヌル入力は、sshなどでの接続解除を防ぐのに役立ちます。
サブシェル:
同様の効果を達成することができます
$ (geany >/dev/null 2>&1 &)
ブラケットは、geditを実行するための新しいサブシェルを開きます。>/dev/null 2>&1
シェル出力をどこにもリダイレクトしません(出力を抑制します)。そして&
最後に、プロセスをバックグラウンドに置きます。
端末多重化
screenまたはbyobuを使用した端末多重化。基本的には、独自のターミナルでプログラムを実行します。他の理由でも、for延を本当にお勧めできます。以下は、最初のステップに役立つ可能性のあるboybu-shortcutsのリストです。
有用:
- F2 新しいウィンドウを作成する
- F3 次のウィンドウに移動する
- F4 前のウィンドウに移動する
- F6 セッションから切り離してログアウトする
- Shift-F6 セッションから切断しますが、ログアウトしません
- F7 スクロールバック/検索モードに入る
- Ctrl-F5 SSH / GPGソケットまたはエージェントを再接続します
あまり役に立たない:
- Shift-F2 画面を水平に分割します
- Ctrl-F2 画面を縦に分割する
- Shift-F3 次の分割にフォーカスを移動
- Shift-F4 前の分割にフォーカスを移動
- Shift-F5 すべての分割を折りたたむ
- F5 すべてのステータス通知を更新する
- F8 現在のウィンドウの名前を変更する
- F9 By風構成メニューを起動する
- F12 GNU Screenのエスケープキー
- Alt-Pageup このウィンドウの履歴をスクロールバックします
- Alt-Pagedown このウィンドウの履歴を前方にスクロールします
- Ctrl-a-! o風のすべてのキーバインドをオンまたはオフに切り替えます
「at」デーモンなど
at
スケジュールされた時間にコマンドを実行するのに便利な便利なツールです。シェルからコマンドを切り離すために「誤用」される可能性があります。
echo './myprogram myoption1 myoption2' | at now
また、あなたはに見ることができるsetsid
とstart-stop-daemon
、他の方法で十分です。