Мне нужно выполнить некоторые вычисления на машине, на которой я могу получить доступ только удаленно, но также служит в качестве рабочей станции. Их много, и я хочу выбрать «свободный». Свободный означает, что в этом случае никто не регистрируется локально.
Моя первая попытка была командой who
, но по какой-то причине она отображает только «выбранных» пользователей, и я не могу точно узнать, как они выбраны. Следующая попытка: ps aux | cut -d " " -f1 | sort | uniq
: лучше показать кучу демонов, но также и локального пользователя, который не был отображен who
.
Мое текущее решение заключается в том, чтобы войти и сделать ps aux | grep "gnome-session"
, что лучше, но все еще дает мне много мусора. В идеале я ищу что-то, что я могу включить в свой профиль ssh, который предупреждает меня о (активных) локальных пользователях при входе в систему.
who
и w
вернули локального пользователя. Является ли это неожиданным поведением? uptime
, с другой стороны, показал мне нужное количество пользователей (локальных и удаленных пользователей минус-системы, таких как root) finger
не установлен Подумайте, как установить самую высокую оценку ваших расчетов. Следует избегать использования ресурсов для любых других пользователей, которые могут войти в систему.
nice -n 19 your_calculation_command
просматривает / var / log / wtmp и отображает журнал последних зарегистрированных пользователей, включая те в настоящее время вошел в систему.
Быстрая и грязная попытка:
ps au --no-heading | cut -d " " -f1 | uniq
Мне нравится этот:
for i in $(ls /dev/pts/*);do echo "TTY $i - $(ps e -t $i|grep -oP "(?<=(RUSER\=))[a-z]*"|uniq)";done ; echo -e '\n+++\n'; for i in $(pgrep ssh);do pstree -paul $i;done
Я бы пошел с:
who | cut -d' ' -f1 | sort | uniq
Это покажет список пользователей real . Если список пуст - машина вышла из системы, ожидая, что кто-то войдет в систему. ps aux
покажет также некоторых пользователей системы, которые вы, вероятно, не хотите видеть.
Мой ответ, чтобы список каждого пользователя регистрировался уникальным образом.
w | tail -n +3 | cut -d " " -f1 | sort | uniq
Подумайте, как установить самую высокую оценку ваших расчетов. Следует избегать использования ресурсов для любых других пользователей, которые могут войти в систему.
nice -n 19 your_calculation_command
Установлена ли команда finger
, или, если нет, может быть? Это должно предоставить список всех пользователей, которые вошли в систему и откуда (например, на другом компьютере или непосредственно на машине), а также указать, как долго этот пользователь простаивает.
Для получения дополнительной информации см. man-страницу ubuntu finger .
Я бы пошел с:
who | cut -d' ' -f1 | sort | uniq
Это покажет список пользователей real . Если список пуст - машина вышла из системы, ожидая, что кто-то войдет в систему. ps aux
покажет также некоторых пользователей системы, которые вы, вероятно, не хотите видеть.
Установлена ли команда finger
, или, если нет, может быть? Это должно предоставить список всех пользователей, которые вошли в систему и откуда (например, на другом компьютере или непосредственно на машине), а также указать, как долго этот пользователь простаивает.
Для получения дополнительной информации см. man-страницу ubuntu finger .
Быстрая и грязная попытка:
ps au --no-heading | cut -d " " -f1 | uniq
Мой ответ, чтобы список каждого пользователя регистрировался уникальным образом.
w | tail -n +3 | cut -d " " -f1 | sort | uniq
Подумайте, как установить самую высокую оценку ваших расчетов. Следует избегать использования ресурсов для любых других пользователей, которые могут войти в систему.
nice -n 19 your_calculation_command
Мне нравится этот:
for i in $(ls /dev/pts/*);do echo "TTY $i - $(ps e -t $i|grep -oP "(?<=(RUSER\=))[a-z]*"|uniq)";done ; echo -e '\n+++\n'; for i in $(pgrep ssh);do pstree -paul $i;done
Я бы пошел с:
who | cut -d' ' -f1 | sort | uniq
Это покажет список пользователей real . Если список пуст - машина вышла из системы, ожидая, что кто-то войдет в систему. ps aux
покажет также некоторых пользователей системы, которые вы, вероятно, не хотите видеть.
Установлена ли команда finger
, или, если нет, может быть? Это должно предоставить список всех пользователей, которые вошли в систему и откуда (например, на другом компьютере или непосредственно на машине), а также указать, как долго этот пользователь простаивает.
Для получения дополнительной информации см. man-страницу ubuntu finger .
finger
не установлен. Существует safe_finger
, который терпит неудачу, потому что он, по-видимому, полагается на finger
.
– sebastiangeiger
1 June 2012 в 10:51
safe_finger
присутствует как часть пакета tcpd
независимо от того, действительно ли установлен пакет finger
(который предоставляет команду finger
, для которой safe_finger
является только оболочкой). Целесообразно использовать safe_finger
при обращении к серверам finger
на удаленных компьютерах (особенно тех, которые вы не администрируете сами и не должны вызывать проблемы на стороне клиента safe-finger
). Если вы используете finger
локально, не следует использовать safe-finger
.
– Eliah Kagan
1 June 2012 в 11:52
Подумайте, как установить самую высокую оценку ваших расчетов. Следует избегать использования ресурсов для любых других пользователей, которые могут войти в систему.
nice -n 19 your_calculation_command
root
не могут renice
обрабатывать процесс к более низкой, даже той, с которой она начиналась.)
– Eliah Kagan
1 June 2012 в 11:09
Мне нравится этот:
for i in $(ls /dev/pts/*);do echo "TTY $i - $(ps e -t $i|grep -oP "(?<=(RUSER\=))[a-z]*"|uniq)";done ; echo -e '\n+++\n'; for i in $(pgrep ssh);do pstree -paul $i;done
Я бы пошел с:
who | cut -d' ' -f1 | sort | uniq
Это покажет список пользователей real . Если список пуст - машина вышла из системы, ожидая, что кто-то войдет в систему. ps aux
покажет также некоторых пользователей системы, которые вы, вероятно, не хотите видеть.
Быстрая и грязная попытка:
ps au --no-heading | cut -d " " -f1 | uniq
Используйте w
На странице w man:
Покажите, кто входит в систему и что они делают.
Пример вывода:
$ w
09:15:10 up 43 min, 2 users, load average: 0.74, 0.38, 0.24
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
kucing tty7 :0 08:32 43:15m 57.73s 0.18s x-session-manager
kucing pts/0 :0.0 08:48 0.00s 0.24s 0.00s w´