Làm thế nào tôi có thể dừng sản lượng mèo ngay lập tức mặc dù sản lượng lớn?


9

Tôi đang tìm cách nào đó để dừng đầu ra thành STDOUT khi tôi nhận ra một lệnh sai. Ví dụ, nếu tôi vô tình nuôi một tệp rất lớn. Thông thường cuối cùng nó sẽ dừng lại nếu bạn giữ phím ctrl+c , nhưng phải mất một thời gian dài.

Có cách nào để ngăn chặn đầu ra ngay lập tức?

Câu trả lời:


10

Bạn có thể chạy ctl-z để làm nền cho nó và sau đó tắt PID.

$ ctl z (để nền nó)

$ kill -9 {pid} 'của quá trình vừa được tạo nền'


1
Tại sao bạn kill -9ing nếu nó không thực sự cần thiết?
benjwadams

2

Thông thường dữ liệu đã được gửi đến màn hình và "thời gian dài" là thiết bị đầu cuối cố gắng hiển thị dữ liệu. Làm bất cứ điều gì với nhiệm vụ sẽ không giúp ích (nghĩa là Ctrl+ Zhoặc Ctrl+ C), bạn sẽ cần một thiết bị đầu cuối nhanh hơn hoặc một cái gì đó để đệm dữ liệu.

Tôi chuyển các đầu ra lớn qua lesstailtùy thuộc vào việc tôi muốn xem phần trên cùng hay dưới cùng của tệp, vì cả hai đều cho phép tôi dễ dàng kiểm soát lượng dữ liệu được gửi đến thiết bị đầu cuối và đóng chương trình nếu đó không phải là điều tôi muốn.


1

Chuyển sang một Terminal khác (thông qua CTRL+ F1sang F6trong chế độ văn bản hoặc mở một cửa sổ mới trong screenthông qua CTRL+ A, C) sau khi nhấn CTRL+ Zhoặc CTRL+ Csẽ khiến thiết bị đầu cuối bỏ qua việc cố gắng thực hiện tất cả các nguồn cấp dữ liệu và trực tiếp nhảy đến dòng cuối cùng đầu ra trong thời gian ngắn hơn


Điều này có hoạt động không khi "thời gian dài" là đầu ra đi vào bộ đệm mạng và mất nhiều thời gian để chuyển tất cả văn bản sang thiết bị đầu cuối nhận? Nếu vậy, làm thế nào để một người hoàn thành tương tự, nói, terminator? Tôi chuyển sang một tab khác và không có gì. Mặt khác, nếu tôi giết phiên ssh bằng cách sử dụng ~. sau đó nó lập tức dừng lại. Tôi thà không giết phiên mặc dù.
vontrapp

@vontrapp Câu hỏi hay (có lẽ đáng giá một câu hỏi mới ). Tôi đoán là nó sẽ không hoạt động, nhưng qua SSH cho các quy trình chạy dài bằng cách sử dụng tmuxhoặc screenluôn luôn là một đề xuất
Tobias Kienzler

0

Bạn sẽ có thể dẫn nó đến morehoặcless

cat large_file.txt | less

Tại thời điểm đó, bạn có thể trang qua câu trả lời và thoát ra với một :q

Bạn cũng có thể sử dụng grepđể giúp sắp xếp câu trả lời của mình nếu bạn đang tìm kiếm một lỗi / vấn đề cụ thể.

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


1
CHK hỏi về tình huống với ALREADY bắt đầu quá trình. Bạn không thể sử dụng ít hơn / nhiều hơn trong trường hợp này.
tháng chín

Mặc dù không phải là một câu trả lời cho câu hỏi trực tiếp, nhưng điều này có giá trị ở chỗ nó cho biết làm thế nào để tránh tình huống trước khi nó xảy ra.
TecBrat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.