リモートでアクセスできるだけでなく、ワークステーションとしても機能するマシンで計算を実行する必要があります。それらの多くがあります、そして、私は「無料の」ものを選びたいです。この場合、無料とはローカルに誰もログインしていないことを意味します。
私の最初の試みはwho
コマンドでしたが、何らかの理由で「選択された」ユーザーのみを一覧表示し、それらがどのように選択されているのか本当にわかりません。次に試してください:ps aux | cut -d " " -f1 | sort | uniq
:デーモンの束だけでなく、who
によって表示されなかったローカルユーザーも表示します。
私の現在の解決策は、ps aux | grep "gnome-session"
にアクセスして実行することです。理想的には、ログイン時に(アクティブな)ローカルユーザーについて警告するsshプロファイルに含めることができるものを探しています。
who
もw
もローカルユーザーを返しませんでした。これは予期しない動作ですか?uptime
一方で、適切な量のユーザー(ローカルおよびリモートからルートなどのシステムユーザーを除く)が表示されましたfinger
はインストールされていません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´
finger
コマンドはインストールされていますか、インストールされていない場合はインストールできますか?これにより、ログインしているすべてのユーザーのリストと、どこから(つまり、別のマシン、またはマシンに直接)のリストが表示され、そのユーザーがアイドル状態であった時間も通知されます。
詳細については、 buntu finger manpage を参照してください。
私は一緒に行きます:
who | cut -d' ' -f1 | sort | uniq
realユーザーのリストが表示されます。リストが空の場合-マシンはログアウト状態にあり、誰かがログインするのを待っています。ps aux
は、一部のシステムユーザーも表示しますが、これはおそらく表示したくないでしょう。
/ var/log/wtmpを調べ、現在ログオンしているを含む最後にログオンしたユーザーのログを表示します。
計算に最高の快適さを設定することを検討してください。ログインしている可能性のある他のユーザーのリソースを占有しないでください。
Nice -n 19 your_calculation_command
ログに記録されたすべてのユーザーをユニークな方法でリストするための私の答え。
w | tail -n +3 | cut -d " " -f1 | sort | uniq
迅速かつ汚い試み:
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