watch во FreeBSD позволяет наблюдать за происходящим в консоли у других пользователей. Например, в системе есть 2 пользователя user и admin. Admin подключается по ssh, и смотрит кто авторизован с системе:
FreeBSD@admin# w 21:16 up 1:39, 2 users, load averages: 0,00 0,00 0,00 USER TTY FROM LOGIN@ IDLE WHAT user pts/0 192.168.4.1 20:22 4 more admin pts/2 192.168.4.2 21:08 - wВидно, что в системе авторизованы 2 пользователя, у user выполняется команда more, а у admin выполняется команда w (who). Если теперь пользователь admin введет команду:
FreeBSD@admin# watch pts/0Где pts/0 имя терминала, за которым хотим наблюдать. В результате пользователь admin будет видеть все происходящее в консоли пользователя user в режиме реального времени (некое подобие R-admin или TeamViewer, только для консоли), будет видно даже то, как набираются команды пользователем user.
Чтобы выйти из наблюдения нужно нажать комбинацию клавиш Ctrl+G.
watch в Linux - Периодическое выполнение команды.
Пример:
user@user-Ubuntu-11:~$ watch -n 5 df -h'-n 5' - выполнять команду раз в 5 секунд.
'df -h' - команда, которая будет выполняться.
Если хотите такую же функциональность watch из Linux во FreeBSD, то потребуется установить из портов cmdwatch
FreeBSD@admin# cd /usr/ports/sysutils/cmdwatch FreeBSD@admin# make install clean && rehashПосле чего можно использовать cmdwatch
FreeBSD@admin# cmdwatch -n 5 df -hБолее подробно man watch, man cmdwatch
Для работы данной утилиты потребуется модуль ядра snp.ko, и если этот модуль ядра не будет загружен, то при попытке использования команды w (who) в jail, получите сообщение об ошибке, для решения данной проблемы потребуется прописать автоматическую загрузку данного модуля
FreeBSD# echo 'snp_load="YES"' >> /boot/loader.conf
2 комментария:
А теперь, для полноты поста, сделай для Linux аналог команды watch во FreeBSD
Когда я бываю на FreeBSD, то для таких случаев использую repeat с очень большим числом, либо бесконечные циклы вроде: while true; do foo bar; sleep 1; done
Не думаю, что стоит о таких вещах писать в статье :)
К тому же cmdwatch упомянута, если часто необходим такой функционал, то можно её установить из портов.
Отправить комментарий