2011-12-03 34 views
59

Bất cứ ai có thể cho biết làm thế nào tôi có thể làm gián đoạn một tập lệnh đang chạy trong R?Làm cách nào để tôi có thể ngắt mã đang chạy trong R bằng lệnh bàn phím?

Giả sử tôi có vòng lặp vô hạn hoặc một số vấn đề khác và tôi muốn dừng chạy tập lệnh. Có lệnh bàn phím nào không?

Nếu nó giúp ích, trong Python, đó là Ctrl + c. Tôi đã thử rằng trong R, và nó đã không làm việc :).

Tôi đã thực hiện một số tìm kiếm cho câu hỏi dường như đơn giản này, nhưng không thể tìm thấy câu trả lời.

Xin cảm ơn trước.

+3

Trong Rgui, nếu bảng điều khiển R có tiêu điểm, sau đó ESC hoặc Alt-M [Enter] hoặc nhấp vào hình chữ nhật dừng màu đỏ sẽ dừng tính toán curent – Henry

+1

Tôi nghĩ nó cũng phụ thuộc vào hệ điều hành bạn đang sử dụng (Wondows, Mac OS, Linux) và cách bạn đang chạy tập lệnh R (từ R gui, Emacs, ...). –

+6

ESC cũng hoạt động trong R Studio (khi chạy Windows, ít nhất). –

Trả lời

13

Công việc điều khiển-C, mặc dù tùy thuộc vào quá trình thực hiện nó có thể không thực hiện ngay lập tức.

Nếu bạn đang sử dụng hệ thống dựa trên Unix, một điều tôi làm là control-z để quay lại lời nhắc dòng lệnh và sau đó phát hành 'kill' cho ID tiến trình.

6

Hãy thử Ctrl + z Nhưng thao tác này sẽ giết quá trình chứ không phải tạm dừng quá trình đó.

+1

Tôi đã thử Ctrl + z, nhưng nó cũng không hoạt động. Tôi đang sử dụng Windows, btw. Cảm ơn bạn. – Akavall

42

tự trả lời (khá nhiều tóm tắt các ý kiến ​​và câu trả lời khác):

  • Trong RStudio, Esc công trình, trên cửa sổ, Mac, và ubuntu (và tôi sẽ đoán trên các bản phân phối Linux khác cũng).

  • Nếu quá trình này được chạy trong tiếng nói vỏ ubuntu (và điều này là không R cụ thể), ví dụ sử dụng:

    Rscript my_file.R 
    

    Ctrl + c giết chết quá trình

    Ctrl + z tạm ngừng quá trình

  • Trong vòng R shell, Ctrl + C kill giúp bạn thoát khỏi nó

+1

Esc cũng hoạt động trên Mac OS X. – algarecu

+3

Thật không may, trong RStudio, 'Esc' không thể làm gián đoạn quá trình tốn nhiều bộ nhớ. – Orion

Các vấn đề liên quan