Para o Ubuntu, Redhat, Suse, podemos ter este arquivo. Não há muita certeza sobre o AIX, embora
Veja a saída de:
cat /proc/uptime
Se isso não estiver disponível no AIX, tente executar o comando uptime
Eu preciso obter o número de segundos desde a última reinicialização, usando o ksh.
Qual é o comando ou função para conseguir isso?
Se você verificar o processo psinfo para o PID 1 a partir do diretório / proc, você poderá obter essa estrutura:
struct pr_timestruc64_t pr_start; /* process start time, time since epoch */
Aqui está a página da web você pode usar para referência.
Esta resposta é descaradamente copiada da resposta de Gilles em Como obter um tempo de atividade do processo sob um sistema operacional diferente? :
t=$(LC_ALL=POSIX ps -o etime= -p 1)
d=0 h=0
case $t in *-*) d=$((0 + ${t%%-*})); t=${t#*-};; esac
case $t in *:*:*) h=$((0 + ${t%%:*})); t=${t#*:};; esac
s=$((10#$d*86400 + 10#$h*3600 + 10#${t%%:*}*60 + 10#${t#*:}))
Isso deixa você com o número de segundos de tempo de atividade em $s
.
Estamos assumindo que a hora de início de init
é quando começamos a contar "tempo de atividade" e também que o init é PID 1 (verdadeiro em meus testes limitados).