Come posso interrompere immediatamente l'uscita del gatto nonostante l'output massiccio?


9

Sto cercando in qualche modo di interrompere l'output su STDOUT quando mi rendo conto che un comando è sbagliato. Ad esempio, se accidentalmente matto un file di grandi dimensioni. Di solito alla fine si fermerà se si tiene premuto ctrl+c , ma richiede molto tempo.

C'è un modo per interrompere l'output più immediatamente?

Risposte:


10

Puoi eseguire ctl-z per metterlo in background e quindi uccidere il PID.

$ ctl z (per lo sfondo)

$ kill -9 {pid} 'del processo appena passato in background'


1
Perché stai kill -9ing se non è assolutamente necessario?
benjwadams,

2

Spesso i dati sono già stati inviati al display e il "lungo tempo" è il terminale che tenta di visualizzare i dati. Fare qualsiasi cosa per l'attività non aiuterà (cioè, Ctrl+ Zo Ctrl+ C), avrai bisogno di un terminale più veloce o di qualcosa per bufferizzare i dati.

I tubi grandi uscite attraverso lesse tailseconda che desidero visualizzare all'inizio o alla fine del file, poiché entrambi mi permetta di controllare facilmente la quantità dei dati inviati al terminale e chiudere il programma se non è quello che voglio.


1

Passare a un Terminale diverso (da CTRL+ F1a F6in modalità testo, o aprendo una nuova finestra in screenvia CTRL+ A, C) dopo aver premuto CTRL+ Zo CTRL+ Cfarà saltare il terminale originale cercando di fare tutti gli avanzamenti di riga e saltare direttamente all'ultima riga di output in un tempo più breve


Funziona quando il "lungo tempo" fa passare l'output in un buffer di rete e impiega molto tempo a trasferire tutto il testo sul terminale ricevente? Se è così, come si fa a fare lo stesso in, diciamo, terminatore? Passo a un'altra scheda e niente. D'altra parte, se uccido la sessione ssh usando ~. quindi si ferma immediatamente. Preferirei non uccidere la sessione però.
Vontrapp,

@vontrapp Buona domanda (che probabilmente merita una nuova domanda ). La mia ipotesi sarebbe che non funzionerà, ma su SSH per processi a lungo termine che utilizzano tmuxo screenè sempre una raccomandazione
Tobias Kienzler,

0

Dovresti essere in grado di reindirizzarlo a moreoless

cat large_file.txt | less

A quel punto è possibile sfogliare la risposta e uscire con a :q

Puoi anche utilizzare grepper ordinare la tua risposta se stai cercando un errore / problema specifico.

http://www.westwind.com/reference/os-x/commandline/pipes.html


1
CHK chiede informazioni sulla situazione con GIÀ avviato il processo. Non puoi usare meno / più in questo caso.
settembre

Sebbene non sia una risposta alla domanda diretta, questo ha un valore in quanto dice come evitare la situazione prima che accada.
TecBrat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.