나는 가지고있다:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
간단한 작업이 필요없는 타이머로 실행하면 무언가를해야 할 때를 상기시켜줍니다. 즉 sleep 210m
PID 25347입니다.
수면 시간이 얼마나 남았는지 알아 내려고 노력 중입니다. 내가 생각 해낸 최선의 방법은 원래 수면량 (210 분)을 넣는 것입니다.
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(설명 : 첫 번째 비트는 원래 수면 시간 (초)을 계산합니다. $(ps…)
비트는 수면이 시작된 후 시간을 초 단위로 가져오고 나머지는 시간을 빼고 분과 초 단위로 표시합니다.)
이것은 일반적으로 유용 할 것입니다; 더 좋은 방법이 있습니까? 또는 적어도 수면 시간을 구문 분석하는 영리한 방법은 ps -o args
무엇입니까?
exec
. 그러나 그것은 일반적인 솔루션에 대한 좋은 지적입니다.
mksh
및 ksh93
최소한)이 sleep
내장되어 있으므로 (에 표시되지 않음 ps
) sleep
처리중인 구현을 미리 알아야 합니다.
sh -c 'sleep 1; sleep 2'
많은sh
구현 에서 와 같이 실행sh
하고 나중에 실행 하는 프로세스는 동일합니다sleep 2
(1 초 후).