だから私はいくつかのサーバーを起動し、nohup ./myServer &
実際に私のサーバーにログインしているので、nohupの助けは必要ありませんが、66GB
nohup.out
数日以内にファイルをインポートする方法は問題です。私はアプリケーションを起動し、それ自体で実行するようにしたいと思います。それでは、nohupが出力ファイルを生成せずにスペースを占有しないようにするにはどうすればよいですか?
答え1
出力を次にリダイレクトする/dev/null
:
nohup ./myServer >& /dev/null &
あるいは、標準出力を削除して標準エラーを維持するには、次のコマンドを使用できます。
nohup ./myServer > /dev/null &
リダイレクト(bashを使用)の追加制御が必要な場合は、ここで詳細を確認できます。
答え2
setsid
私は今日このユーティリティについて学びました。なぜそんなに時間がかかったのかわかりません。 setidユーティリティを使用して、次のようにプロセスを実行できます。
setsid ./myServer
setid は新しいセッションでプログラムを実行します。すでにプロセスグループリーダーの場合、このコマンドはfork(2)を呼び出します。それ以外の場合は、現在のプロセスでプログラムを実行します。このデフォルトの動作は --fork オプションでオーバーライドできます。
/usr/bin/setsid
Ubuntuでは、最小インストールでutil-linuxパッケージと一緒にインストールされます。