Kann jemand sagen, wie ich ein laufendes Skript in R unterbrechen kann?
Angenommen, ich habe eine Endlosschleife oder ein anderes Problem und möchte verhindern, dass das Skript ausgeführt wird. Gibt es einen Tastaturbefehl, der das macht?
Wenn es hilft, ist es in Python Strg + c. Ich habe das in R versucht und es hat nicht funktioniert :).
Ich habe nach dieser scheinbar einfachen Frage gesucht, konnte aber keine Antwort finden.
Danke im Voraus.
Antworten:
Selbstantwort (ziemlich genau Zusammenfassung der Kommentare und Antworten anderer):
In
RStudio
,Esc
Arbeiten auf Windows, Mac und Ubuntu (und ich würde auch auf anderen Linux - Distributionen erraten).Wenn der Prozess beispielsweise in der Ubuntu-Shell ausgeführt wird (und dies ist nicht
R
spezifisch), verwenden Sie beispielsweise:Ctrl + c
beendet den ProzessCtrl + z
setzt den Prozess ausIn der R-Shell
Ctrl + C
helfen Kills dabei, ihr zu entkommenquelle
Esc
speicherintensive Prozesse nicht unterbrechen.Control-C funktioniert, obwohl es je nach dem, was der Prozess tut, möglicherweise nicht sofort dauert.
Wenn Sie auf einem Unix-basierten System arbeiten, gehe ich mit control-z zur Eingabeaufforderung zurück und gebe der Prozess-ID einen "Kill" aus.
quelle
Probieren Sie Strg + z aus. Der Vorgang wird jedoch abgebrochen und nicht angehalten.
quelle
Ich weiß, dass dies alt ist, aber ich bin auf dasselbe Problem gestoßen. Ich bin auf einem Mac / Ubuntu und wechsle hin und her. Was ich gefunden habe, ist, dass nur das Senden eines einfachen Interrupt-Signals an den Haupt-R-Prozess genau das tut, wonach Sie suchen. Ich habe Skripte ausgeführt, die bis zu 24 Stunden dauerten, und der Signalinterrupt funktioniert sehr gut. Sie sollten in der Lage sein, kill im Terminal auszuführen:
$ kill -2 pid
Sie können die PID finden, indem Sie laufen
Ich bin mir bei Windows nicht sicher, da ich nie dort bin, aber ich kann mir nicht vorstellen, dass es keine Option gibt, dies auch in der Eingabeaufforderung / im Task-Manager zu tun
Hoffe das hilft!
quelle