Вы можете запросить прошедшее время в секундах:
ps -p $$ -o etimes=
Всегда будет точные и сопоставимые, независимо от того, каково текущее время, по мнению системы.
Вы можете превратить его в неизменное начальное значение, вычтя его из текущего времени безотказной работы (сохраненного в секундах как первое значение в / proc / uptime
):
echo $(($(cut -d. -f1 < /proc/uptime) - $(ps -p $$ -o etimes=)))
Возможно, вы сможете сделать это, отключив отключение -на -уничтожение, но поместив отсоединение -клиента в панель -выхода из хука.
Здесь немного читабельнее:
set -g remain-on-exit on
set -g pane-died 'if -F "#{&&:#{==:#{session_windows},1},#{==:#{window_panes},1}}" "killp; detach" "killp"'
set -g detach-on-destroy off