ksh를 사용하여 마지막 재부팅 이후의 시간(초)을 가져와야 합니다.
이를 달성하기 위한 명령이나 기능은 무엇입니까?
답변1
/proc 디렉토리에서 PID 1을 갖는 프로세스의 psinfo를 확인하면 다음과 같은 구조를 얻을 수 있습니다.
struct pr_timestruc64_t pr_start; /* process start time, time since epoch */
여기있어웹 페이지이것을 참고하시면 됩니다.
답변2
Ubuntu, Redhat, Suse의 경우 이 파일을 사용할 수 있습니다.하지만 AIX에 대해서는 잘 모르겠습니다.
출력을 봅니다.
cat /proc/uptime
AIX에서 사용할 수 없는 경우 다음 명령을 실행해 보십시오.uptime
답변3
이 답변은 Giles의 답변에서 노골적으로 복사되었습니다.다양한 운영 체제에서 프로세스 가동 시간을 얻는 방법은 무엇입니까?:
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#*:}))
이렇게 하면 가동 시간을 초 단위로 얻을 수 있습니다 $s
.
가정된 init
시작 시간은 "가동 시간" 계산을 시작하는 시간이고 초기화는 PID 1입니다(제한된 테스트에서는 그랬습니다).