Bagaimana saya bisa menghentikan output cat segera meskipun output besar

9

Saya mencari cara untuk menghentikan output ke STDOUT ketika saya menyadari perintah itu salah. Misalnya, jika saya tidak sengaja menyimpan file yang sangat besar. Biasanya akhirnya akan berhenti jika Anda menekan ctrl+c , tetapi itu membutuhkan waktu lama.

Apakah ada cara untuk menghentikan output lebih cepat?

CHK
sumber

Jawaban:

10

Anda dapat menjalankan ctl-z sebagai latar belakang dan kemudian membunuh PID.

$ ctl z (ke latar belakang itu)

$ kill -9 {pid} 'dari proses yang baru saja dilatar belakangi'

pengguna30141
sumber
1
Mengapa Anda kill -9tidak perlu?
benjwadams
2

Seringkali data sudah dikirim ke tampilan, dan "lama" adalah terminal yang mencoba menampilkan data. Melakukan sesuatu untuk tugas itu tidak akan membantu (yaitu, Ctrl+ Zatau Ctrl+ C), Anda akan memerlukan terminal yang lebih cepat atau sesuatu untuk buffer data.

Saya menyalurkan output besar melalui lessdan tailtergantung pada apakah saya ingin melihat bagian atas atau bawah file, karena keduanya memungkinkan saya untuk dengan mudah mengontrol jumlah data yang dikirim ke terminal dan menutup program jika bukan itu yang saya inginkan.

Darth Android
sumber
1

Beralih ke Terminal yang berbeda (melalui CTRL+ F1ke F6dalam mode teks, atau membuka jendela baru screenmelalui CTRL+ A, C) setelah menekan salah satu CTRL+ Zatau CTRL+ Cakan menyebabkan terminal asli untuk melompati mencoba melakukan semua umpan garis dan langsung melompat ke baris terakhir. output dalam waktu yang lebih singkat

Tobias Kienzler
sumber
Apakah ini bekerja ketika "lama" adalah output masuk ke buffer jaringan dan membutuhkan waktu lama untuk mentransfer semua teks ke terminal penerima? Jika demikian, bagaimana seseorang mencapai hal yang sama dalam, katakanlah, terminator? Saya beralih ke tab lain dan tidak ada. Di sisi lain, jika saya membunuh sesi ssh menggunakan ~. maka segera berhenti. Saya lebih suka tidak membunuh sesi.
vontrapp
@vontrapp Pertanyaan bagus (yang mungkin bernilai pertanyaan baru ). Dugaan saya tidak akan berhasil, tetapi lebih dari SSH untuk proses yang berjalan lama menggunakan tmuxatau screenselalu merupakan rekomendasi
Tobias Kienzler
0

Anda harus dapat menyalurkannya ke moreatauless

cat large_file.txt | less

Di titik mana Anda bisa membuka jawaban dan keluar dengan a :q

Anda juga dapat menggunakan grepuntuk membantu memilah-milah jawaban Anda jika Anda mencari kesalahan / masalah tertentu.

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

John Lillard
sumber
1
CHK bertanya tentang situasi dengan SUDAH memulai proses. Anda tidak dapat menggunakan lebih sedikit / lebih dalam hal ini.
september
Meskipun bukan jawaban untuk pertanyaan langsung, ini memiliki nilai karena ia memberi tahu cara menghindari situasi sebelum itu terjadi.
TecBrat