Domanda

Quando eseguo nohup some_command &, l'uscita va a nohup.out; man nohup dice di guardare info nohup che a sua volta dice:

Se lo standard output è un terminale, il standard output di comando viene aggiunto al file 'nohup.out'; se quello non possono essere scritti, si è accodato al file '$ HOME / nohup.out'; e se che non può essere scritto, il comando non viene eseguito.

Ma se ho già un comando usando nohup con uscita andando a /nohup.out e voglio eseguire un altro, il comando nohup, posso reindirizzare l'output in nohup2.out?

È stato utile?

Soluzione

nohup some_command &> nohup2.out&

e voilà.


sintassi più vecchio per la versione Bash <4:

nohup some_command > nohup2.out 2>&1&

Altri suggerimenti

Per qualche ragione, la risposta di cui sopra non ha funzionato per me; Non tornai al prompt dei comandi dopo l'esecuzione di come mi aspettassi, con il finale &. Invece, ho semplicemente provato con

nohup some_command > nohup2.out&

e funziona proprio come voglio io. Lasciando questo qui nel caso in cui qualcun altro è nella stessa situazione. Esecuzione di Bash 4.3.8 per riferimento.

Come i gestori di file punti di i-node (che sono memorizzate in modo indipendente dai nomi dei file) su sistemi Linux / Unix è possibile rinominare il nohup.out predefinita a qualsiasi altro nome di file in qualsiasi momento dopo l'avvio nohup something&. Così anche si potrebbe procedere come segue:

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

Ora something aggiunge righe a nohup2.out e something2 a nohup.out.

Sopra metodi verranno rimossi i dati del file di output ogni volta che si esegue sopra il comando nohup.

Append output in file definito dall'utente è possibile utilizzare >> al comando nohup.

nohup your_command >> filename.out &

Questo comando aggiungerà tutto l'output nel file senza rimuovere i vecchi dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top