не уверенный, если это поможет, но у меня есть функция для повторения команд, пока они не возвращают успех:
retry () {
local delay=1 n
if ! [[ $1 = *[^0-9]* ]]; then
# TODO allow delay=0 (prevents Ctrl-C)
if (($1 > 0)); then
delay=${1:1}
fi
shift
fi
# run command
while ! "$@"; do
echo "retrying in ${delay}s"
for ((n=delay; n>0; n--)); do
sleep 1 || return
done
done
}; export -f retry
Можно использовать who
команда для обнаружения всех зарегистрированных пользователей. Существует w
управляйте также доступный узнавать то же.
w
иwho
оба показывают одну строку на корневую сессию и имя хоста/IP, что они зарегистрированы от. – Stefan Lasiewski 14.02.2013, 23:33last | head x
который читает из wtmp? Вы могли использоватьlast | head -n 100 | grep root | grep "still logged in"
хотя это могло бы также возвратить корни, которые уже вышли из системы несколько минут назад. – Karma Fusebox 15.02.2013, 02:50