スクリプト/コマンドを終了せずに端末を閉じるには、&
コマンドを呼び出すときに最後に演算子を使用します。良い:
gedit &
gedit
ここではサンプルコマンドとして使用しています。
他の端末(現在の端末)で同じことをしたいのですが。他の端末でスクリプト/コマンドを実行するには、以下を使用しています。
gnome-terminal -e 'gedit'
gnome-terminal -x bash -c 'gedit'
しかし、ここでドアを閉めると新しくオープンしたターミナル、実行中のスクリプト/プログラム[command]
も終了します。だから&
私は次を試しました。
gnome-terminal -e 'gedit' &
gnome-terminal -x bash -c 'gedit' &
しかし、上記のいずれも機能しません。
したがって、これを達成する方法は次のとおりです。現在の端末で起動し、gnome-terminal
他の端末でコマンドを実行し、gnome-terminal
コマンドを開始した後、実行中の端末を終了せずに対応する(新しく開かれた)端末を閉じますcommand
。
答え1
このコマンドを使用できますnohup
。これにより、ターミナルからプロセスが切断されるため、gnomeターミナルウィンドウを閉じても引き続き実行されます。
例:gnome-terminal -e "nohup bash gedit"
答え2
画面ユーティリティを使用できます。 Screenは、複数のプロセス(通常は対話型シェル)で動作するフルスクリーンウィンドウマネージャですman screen
。 。
シェルでscreenコマンドを実行すると、シェルを含む新しいウィンドウが作成されます。必要なコマンド/スクリプト/デーモンを実行できます。ショートカットCtrl + A + Dを使用してウィンドウから簡単に切り離すことができます。
開始したすべてのセッションを一覧表示するには、を使用できますscreen -list
。最後に分離されたセッションに接続しscreen -r
たり、特定のセッションに接続したい場合は、接続を使用できますscreen -r <host.tty>
。
例:
[root@dns-ldap ~]# screen -list
There are screens on:
5708.pts-0.dns-ldap (Detached)
5648.pts-0.dns-ldap (Detached)
5725.pts-0.dns-ldap (Detached)
3 Sockets in /var/run/screen/S-root.
[root@dns-ldap ~]# screen -r 5708.pts-0.dns-ldap #this will attach you to terminal 5708.pts-0.dns-lda. I have detached from the terminal usinc Ctrl+A+D
[detached]
[root@dns-ldap ~]# screen -r 5648.pts-0.dns-ldap
[detached]
[root@dns-ldap ~]#
答え3
コンビネーションnohup
&screen
、ついに私が欲しいものを達成しました。
渡すキリラgnome-terminal -e "nohup bash gedit"
、次のコマンドを使用することをお勧めします。
ところで、上記の命令を利用すれば命令を実行でき、実行gnome-terminal
中の命令を終了せずに新たに開いた命令を閉じることができる。しかし、新しく開いたウィンドウを手動で閉じる必要がありますgnome-terminal
。コマンドを開始した後、自動的に閉じたいと思います。
渡すディミタール・ディミトロフ screen
コマンドを使用することをお勧めします。
ついに私は私のものをscreen
使ったnohup
最終的なコマンドは次のとおりです。
gnome-terminal -e 'screen nohup gedit'
gnome-terminal -x bash -c 'screen nohup gedit'
上記のコマンドのいずれかを使用すると、次のような結果が得られます。コマンドは新しい端末ウィンドウで実行され、コマンドの実行後に実行中のコマンドを終了せずに、新しく開いた端末が閉じます。