답변:
이미 두 가지 훌륭한 답변이 있지만 조금 확장하고 싶습니다. 아래 명령을 복사하여 터미널에 붙여 넣으십시오.
$ sleep 3d 5h 7m 30.05s &
[1] 7321
그러면 3 일, 5 시간, 7 분 및 30.05 초 동안 절전 상태가되는 두 번째 프로세스가 시작됩니다. 7321
내 경우에는 프로세스 ID (PID)가 있습니다.
PID 사용을 확인하려면
$ ps aux | grep sleep
rick 7321 0.0 0.0 14356 660 pts/2 S 22:40 0:00 sleep 3d 5h 7m 30.05s
root 12415 0.0 0.0 14356 700 ? S 22:41 0:00 sleep 60
rick 12500 0.0 0.0 21292 968 pts/2 R+ 22:41 0:00 grep --color=auto sleep
첫 번째 항목은 우리가 관심이있는 항목입니다. 두 번째 항목은 시작시 실행중인 영구 프로그램입니다. 세 번째 항목은 grep 명령 자체에 대한 것입니다.
sleep
PID에 의해 생성 된 명령 에 남은 시간 (초)이 얼마 인지 확인하려면7321
다음을 사용할 수 있습니다 . 명령:
$ remaining_sleep_time 7321
277304.05
$ remaining_sleep_time 7321
277296.05
$ remaining_sleep_time 7321
277262.05
~/.bashrc
파일에 포함시킬 수있는 명령 코드 :
remaining_sleep_time() { # arg: pid
ps -o etime= -o args= -p "$1" | perl -MPOSIX -lane '
%map = qw(d 86400 h 3600 m 60 s 1);
$F[0] =~ /(\d+-)?(\d+:)?(\d+):(\d+)/;
$t = -($4+60*($3+60*($2+24*$1)));
for (@F[2..$#F]) {
s/\?//g;
($n, $p) = strtod($_);
$n *= $map{substr($_, -$p)} if $p;
$t += $n
}
print $t'
}
remaining_sleep_time
따라 @ fixit7을 ~/.bashrc
파일에 복사해야 합니다. 코드를 bash 스크립트 파일에 넣을 수도 있습니다.
명령 절전은 항상 초 단위로 계산됩니다. ((7x60) +30) 초를 사용한 다음 간단히 입력 할 수 있습니다.
수면 450
sleep $((60*7))
할 수 있으므로 몇 분 동안 사용할 수 있습니다.