Jak mogę natychmiast zatrzymać produkcję kota pomimo ogromnej mocy?


9

Szukam sposobu, aby zatrzymać wyjście do STDOUT, gdy zdam sobie sprawę, że polecenie jest nieprawidłowe. Na przykład, jeśli przypadkowo złapię bardzo duży plik. Zwykle w końcu się zatrzyma, jeśli przytrzymasz klawisz ctrl+c , ale zajmuje to dużo czasu.

Czy istnieje sposób na natychmiastowe zatrzymanie produkcji?

Odpowiedzi:


10

Możesz uruchomić ctl-z, aby ustawić go w tle, a następnie zabić PID.

$ ctl z (w tle)

$ kill -9 {pid} „procesu, który właśnie został w tle”


1
Dlaczego się kill -9zastanawiasz, jeśli nie jest to absolutnie konieczne?
benjwadams

2

Często dane zostały już wysłane na wyświetlacz, a „długi czas” to terminal, który próbuje wyświetlić dane. Wykonanie czegokolwiek w zadaniu nie pomoże (tj. Ctrl+ ZLub Ctrl+ C), potrzebujesz albo szybszego terminala, albo czegoś do buforowania danych.

Rura I duże wyjścia przez lessi tailw zależności od tego, czy chcę zobaczyć górną lub dolną część pliku, ponieważ zarówno pozwala mi łatwo kontrolować ilość danych wysyłanych do terminalu i zamknąć program, jeśli nie jest to, co chcę.


1

Przełączenie do innego terminala (przez CTRL+ F1do F6w trybie tekstowym lub otwarcie nowego okna screenza pomocą CTRL+ A, C) po naciśnięciu CTRL+ Zlub CTRL+ Cspowoduje, że oryginalny terminal pominie próbowanie wykonania wszystkich linii i przejście bezpośrednio do ostatniej linii produkcji w krótszym czasie


Czy to działa, gdy „długi czas” jest wysyłany do bufora sieciowego i zajmuje dużo czasu, aby przenieść cały tekst do terminala odbiorczego? Jeśli tak, to w jaki sposób można to osiągnąć w powiedzmy w terminatorze? Przełączam się na inną kartę i nic. Z drugiej strony, jeśli zabiję sesję ssh za pomocą ~. to natychmiast się zatrzymuje. Wolałbym jednak nie zabijać sesji.
vontrapp

@vontrapp Dobre pytanie (które prawdopodobnie jest warte nowego pytania ). Domyślam się, że to nie zadziała, ale przez SSH do długotrwałych procesów przy użyciu tmuxlub screenzawsze jest zaleceniem
Tobias Kienzler

0

Powinieneś być w stanie przesłać go do morelubless

cat large_file.txt | less

W którym momencie możesz przejrzeć odpowiedź i wybić za pomocą :q

Możesz także użyć, grepaby pomóc w uporządkowaniu odpowiedzi, jeśli szukasz konkretnego błędu / problemu.

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


1
CHK pyta o sytuację z JUŻ rozpoczętym procesem. W tym przypadku nie możesz użyć mniej / więcej.
września

Chociaż nie jest odpowiedzią na bezpośrednie pytanie, ma to tę wartość, że mówi, jak uniknąć sytuacji, zanim się zdarzy.
TecBrat,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.