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.