Программа, которая не устанавливает обработчик сигналов или явно игнорирует сигналы, выполнит действие по умолчанию, если не указано иное.
Действие по умолчанию после получения сигнала TERM
— выход из процесса.
В частности, для утилиты sleep
единственным сигналом, явно упомянутым в спецификации POSIX, является сигнал ALRM
, который приведет к завершению процесса с нулевым -статусом выхода ("success ). sleep
также может игнорировать ALRM
или выполнить действие по умолчанию. Для всех остальных сигналов будет выполнено действие по умолчанию.
Пожалуйста, используйте один вкладыш ниже..
uptime= uptime | awk -F ',' ' {print $1" "$2}'|awk ' {print $3" "$4" "$5}' | sed '1,$s/:/ /' | awk ' {if ($4 =="users") print $1*60 + $2;else if ($4 =="user") print $1*60 + $2;else if ($2=="mins") print $1;else print $1*24*60 + $3*60 + $4}'
;if [ $uptime -lt 300 ]; затем эхо «Перезагрузка до 300 минут»; иначе эхо "ОК"; фи
Можно адаптировать Как получить время безотказной работы процесса под другой ОС? для возврата прошедших секунд процесса 1 (init )как довольно близкое приближение:
#!/bin/sh
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#*:}))
printf '%d\n' "$s"