`Nohup.out` adını değiştirebilir miyim?


254

Koştuğumda nohup some_command &çıktı nohup.out; man nohupdiyor ki info nohuphangisi şöyle diyor:

Standart çıktı bir terminal ise, komutun standart çıktısı 'nohup.out' dosyasına eklenir; bu yazılamazsa, '$ HOME / nohup.out' dosyasına eklenir; ve bu yazılamazsa, komut çalıştırılmaz.

Ama zaten nohupçıkış gidiyor ile bir komut varsa /nohup.outve başka bir nohupkomut çalıştırmak istiyorsanız, komut, çıktıyı yeniden yönlendirebilir miyim nohup2.out?

Yanıtlar:


416
nohup some_command &> nohup2.out &

ve voila.


Bash <4 sürümü için eski sözdizimi:

nohup some_command > nohup2.out 2>&1 &

4
@ismail, anlarsam, çıktıyı stdout ve nohup.out'tan nohup2.out'a yönlendirir. O zaman ne yapar 2>&1&?
David LeBauer

12
2>&1bu durumda olduğu stderrgibi aynı çıktı dosyasına yönlendirirstdoutnohup2.out
ismail

17
Bash 4'te, iki yönlendirme bir olarak kısaltılabilir &> nohup2.out.
ephemient

1
Ben denedim &> nohup2.out ve işe yarıyor, ama bash sürümünüzü nasıl söyleyebilirsiniz?
monkut

9
@monkut bash
ismail

58

Bazı nedenlerden dolayı, yukarıdaki cevap benim için işe yaramadı; Sonunda & beklediğim gibi çalıştırdıktan sonra komut istemine dönmedi. Bunun yerine, sadece

nohup some_command > nohup2.out&

ve tam istediğim gibi çalışıyor. Başkasının aynı durumda olması durumunda bunu buradan bırakmak. Referans için Bash 4.3.8 çalıştırıyor.


12

Dosya işleyicileri Linux / Unix sistemlerinde i-düğümlerini (dosya adlarından bağımsız olarak depolanır) işaret ettiği için, nohup.outbaşlattıktan sonra varsayılanı başka bir dosya adına yeniden adlandırabilirsiniz nohup something&. Bu yüzden de aşağıdakileri yapabilirsiniz:

$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&

Şimdi somethingiçin çizgiler ekler nohup2.outve something2için nohup.out.


10

Yukarıdaki yöntemler nohup komutunun üzerinde çalıştığınızda çıktı dosya verilerinizi kaldıracaktır.

için kullanıcı tanımlı dosyasında ekleme çıkışı kullanabilirsiniz >>nohup komuta.

nohup your_command >> filename.out &

Bu komut, eski verileri kaldırmadan dosyanızdaki tüm çıktıları ekler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.