如何判断是否有用户登录到本地 Mac、是否正常运行或某个守护进程是否在端口上监听?

如何判断是否有用户登录到本地 Mac、是否正常运行或某个守护进程是否在端口上监听?

在 Mac(OS 10.13)上,在我的 LAN 中,有没有办法判断另一台类似的 Mac 是否有人登录,或者它已经运行了多长时间?我有一台无头 Mac,有时会自动重启,我希望能够从另一台机器上监控这种情况。如果发生这种情况,它会停留在登录屏幕上,我可以通过没有人登录这一事实来检测。或者有另一种方法来检测这一点?也许是由于缺少一些轻量级的网络服务,这些服务只有在用户登录后才应该存在?我可以让它在登录序列中运行什么,这些序列在外部可见(在端口上监听的东西)?

答案1

第一部分,查看您可以使用的状态ssh(在 mac 语言中称为“远程登录”),运行uptime以查看它已经运行了多长时间,以及who查看谁登录了。

myuser@machine: ssh fredrik@viggen
Last login: Sat Feb  6 10:55:10 2021 from 10.1.66.37
fredrik@viggen:~$ who
fredrik     console  Feb  3 07:56
fredrik     ttys000  Feb  3 08:05
fredrik     ttys008  Feb  6 10:55   (10.1.66.37)
fredrik@viggen:~$ uptime
10:58  up 3 days,  3:03, 7 users, load averages: 2.68 2.33 2.29
fredrik@viggen:~$

“console”是图形登录,“ttys000”是本地终端,“ttys008”是通过IP地址显示的远程登录。

如果系统重新启动,通知会更加先进,并且有多种方法可以实现。您可以使用一个简单的脚本通过 Messenger(电报或其他方式)、IFTTT、推送通知、发送电子邮件等向您发送警报。

我个人会使用一个简单的脚本通过 Telegram 通知我的手机。首先,下载电报 bash然后我会把它放在 crontab 中(crontab -e),像这样@rebooot /path/to/telegram -t 123456:AbcDefGhi-JklMnoPrw -c 12345 "Hello, World."

相关内容