2012-12-03 12 views
74

Linuxシェルからリモートサーバにgitを使ってファイルをアップロードするコマンドがあります。完了するまでに何時間もかかるでしょう。現在実行中のLinuxプロセスをバックグラウンドで実行するにはどうすればよいですか?

実行中のプログラムをどのようにバックグラウンドに置くことができますか?私はまだシェルで作業することができ、そのプロセスも完了しますか?

+0

ちょっと推測しましたが、ctrl + zを試してみましたか、このようなコマンドを実行しましたか? #command& – EralpB

+0

コマンドは既に実行されているので、他のオプションはありません。私はどのコマンドを試していいのか分かりません。私は現在のプロセスを中断したくないので、私はそれを実験しなかった – user825904

+0

私たちはもっと専門的な答えを待つべきです:) 私はあなたが再び何度も始める機会があれば意味しました。 (コマンド&もの) – EralpB

答えて

139

CTRL + Z次に、コマンドbgを使用して、プロセスをバックグラウンドで実行します。あなたも、端末を殺すことができるプロセスを開始する

EDIT

、それはまだ、例えば

nohup [command] [-args] > [filename] 2>&1 & 

を実行しているに運びます単にファイル名に異なるファイルの変更&1に設定されたエラーメッセージを取得するには/dev/null

にファイル名を変更する出力(非常に賢明ではない)を無視する

nohup /home/edheal/myprog -arg1 -arg2 > /home/edheal/output.txt 2>&1 & 

+0

私はそれを試しましたが、何かの出力として何度もアップロードされたデータの量を示す%でフォアグラウンドに戻ります。 – user825904

+0

プロセスは、開始時にプロセスに指示したとおりに出力を書き込みます。ファイルや '/ dev/null'に出力するためには、再起動が必要です。上記の編集を参照してください。 –

+0

これは、プロセスがすでに開始されている場合は、出力をリダイレクトする方法がないことを意味します。 – user825904

関連する問題