web-dev-qa-db-ja.com

UbuntuはGnomeターミナルを一晩閉じます

UBUNTUサーバーでPerl TCP Socketプログラム24 * 7を実行していました。通常、Gnomeターミナルを開いてスクリプトパスに移動し、Perlスクリプトを開始しました。Gnomeターミナルは開いたままです。 6か月間は正常に動作していましたが、過去3日間は正常に動作していません。Gnomeターミナルは自動的に閉じているため、Socketプログラムです。翌日、私は再びターミナルを開いてソケットプログラムを実行しました。端末が一晩閉鎖されました。ウェブで解決策が見つかりませんでした。問題の解決に助けが必要です

3
gzix

screen でプログラムを実行します。画面をインストールし、ターミナルを開いて「screen」と入力するだけです。その瞬間から、あなたがするすべてのことは、外側のシェルが閉じているかどうかに依存しない永続的な「スクリーン」の内側になります。

端末が閉じている場合は、新しい端末を開いて画面を再接続できます。

このように実行する必要があるプログラムを作成する場合(通常はsshを介してリモートで起動します)、通常は画面に実行されていない限りプログラムが起動を拒否するようにチェックを書き込みます(環境変数STYが存在するかどうかを確認します)。そうすれば、画面の外で誤ってプログラムを実行することはできません。

5
Peter

バックグラウンドでプログラムを起動することは可能です(それが不可能な場合はスクリプトに変更が必要になる場合があります)...

Nohup {program} > {program.out} 2>&1 & 

プログラムからの出力は{program.out}にリダイレクトされます。 ">"を ">>"に変更すると、出力が使用された前の時間を上書きする代わりに出力を追加します。

これにより、ターミナルセッションが不要になります。それに加えて、ターミナルセッションが強制終了/停止されたために見逃した可能性のあるエラーメッセージもトラップします。

5
Rinzwind

押す CTRL + ALT + F2 ユーザー名とパスワードでサインインします。

そこからコマンドを実行すると、閉じないはずです。

3
mchid