2016-05-23 3 views
5

Есть ли способ проверить, когда сеанс R был запущен? В interactive mode, не обязательно в batch mode.Проверьте, была ли запущена сессия R?

+1

Вам нужно проверить это изнутри R? –

+0

@docendo discimus было бы здорово, но я полагаю, что это невозможно, так что нет, но давайте подождем, может быть, будет ответ – Qbik

+0

Вы имеете в виду, на какое время начался сеанс? – Andrie

ответ

4

В окнах вы можете попытаться увидеть время создания каталога для временных файлов для r-session

file.info(tempdir())$ctime

Его единственной идеей, и можете быть не всегда

+0

Ницца. Это работает также в Linux и «менее инвазивна», чем мое решение. Проблема в том, что по какой-то причине временный каталог изменен, ваша строка сообщит о времени последней модификации. – nicola

+0

@nicola В '? File.info'« В собственных файловых системах Windows ctime - это время создания файла (то, что не записывается в большинстве файловых систем Unix) ». возможно, он работает только для окон – Batanichek

+0

@nicola Tried edit folder (добавить некоторые файлы) 'mtime' и' atime' изменены, но 'ctime' не – Batanichek

7

Он не будет работать на текущих сессиях, но может (локально) работать над будущими сессиями. Редактировать/создать .Rprofile файл в вашем домашнем каталоге и добавьте следующие две строки:

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

Линии .Rprofile выполняются в начале сессии. Я выбираю имена, начинающиеся с точки, чтобы они не возвращались ls(). Затем начать R сессии и, когда вы даете:

.sessionTime() 

он возвращает время, прошедшее с начала сессии.

+1

Точно, что я * * разместил бы, если бы я проснулся 3 часа назад :-) –

4

Времен proc.time функции следа, так как R начал (см помощь), который может быть использован как:

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

, чтобы узнать, когда началась сессия.