2016-05-23 12 views
5

Gibt es eine Möglichkeit zu überprüfen, wann die R-Sitzung gestartet wurde? In interactive mode, nicht notwendig in batch mode.Überprüfen, wann die R-Sitzung gestartet wurde?

+1

Müssen Sie dies innerhalb von R überprüfen? –

+0

@docendo discimus es wäre toll, aber ich nehme an, es ist unmöglich, so nicht, aber lass uns warten, mayby ​​wird es Antwort geben – Qbik

+0

Meinst du, zu welcher Zeit die Sitzung begann? – Andrie

Antwort

4

In Windows können Sie versuchen, für r-session

file.info(tempdir())$ctime

Seine einzige Idee Zeitpunkt der Erstellung temp dir zu sehen und immer funktionieren möglicherweise nicht

+0

Schön. Dies funktioniert auch unter Linux und ist "weniger invasiv" als meine Lösung. Das Problem ist, wenn aus irgendeinem Grund das temporäre Verzeichnis geändert wird, meldet Ihre Zeile die Zeit der letzten Änderung. – nicola

+0

@nicola In '? File.info'" Unter Windows native Dateisysteme ctime ist die Zeit der Dateierstellung (etwas, das nicht auf den meisten Unix-ähnlichen Dateisystemen aufgezeichnet wird). " vielleicht funktioniert es nur für Windows – Batanichek

+0

@nicola Erprobte Edit-Ordner (fügen Sie einige Dateien hinzu) 'mtime' und' atime' geändert, aber 'ctime' nicht – Batanichek

7

Es funktioniert nicht mit den aktuellen Sitzungen, kann aber (lokal) an zukünftigen Sitzungen arbeiten. Bearbeiten/Erstellen einer .Rprofile Datei in Ihrem Home-Verzeichnis und fügen Sie diese beiden Zeilen:

.startedTime<-Sys.time() 
.sessionTime<-function() Sys.time()-.startedTime 

Die Linien in .Rprofile werden zu Beginn der Sitzung ausgeführt. Ich wähle Namen, die mit einem Punkt beginnen, so dass sie nicht von ls() zurückgegeben werden. Als nächstes wird eine R-Sitzung starten und wenn Sie geben:

.sessionTime() 

es wird die verstrichene Zeit vom Beginn der Sitzung zurück.

+1

Genau das, was ich * gepostet hätte, wenn ich vor 3 Stunden wach wäre :-) –

4

Die proc.time Funktion Track mal da R gestartet (siehe Hilfe), die verwendet werden könnte als:

Sys.time() - proc.time()["elapsed"] 

um herauszufinden, wann die Sitzung gestartet wurde.

Verwandte Themen