我正在尝试找到一种方法来构建一个cron作业,该作业将根据他们上次主动移动鼠标时在OSX中注销空闲用户。 OSX的内置功能可以记录每个人,并且只有整个机器处于空闲状态。我能够找出谁是空闲的唯一方法是使用'w'然后给我一些列,其中一列有空闲时间。如何只管理那个字段中的那些数字并忽略其余的数字?有更简单的方法吗?
我怎么写这个:
1.Issue command w
2.检查用户名以查看闲置时间是否超过30分钟,如果是, 发出命令ps -Ajc | grep loginwindow 并为超过空闲时间的用户找到loginwindow的用户名和pid 并发出sudo kill -9“无论该用户的登录窗口是什么pid”
并从此脚本中排除“whateverusernamehere”(这样它将保持登录状态)。
答案 0 :(得分:0)
我知道你问过管道。但这样做的标准方法是: 考虑使用TMOUT变量。
在登录资料中添加以下内容:
declare -r TMOUT=14400
这会在14400秒,4小时不活动后注销非活动的交互式用户。
你的解决方案,特别是杀人-9,有点苛刻,可能会导致问题。有些用户可以打开文件,你的方法不会检测到,并且你关闭了用户,你可以破坏文件。