我使用定时旋转文件记录器生成了一些日志。这会记录到一个名为 的文件中tool.log
,并在午夜时将其移至tool.log.<date>
并启动一个新的tool.log
.
我tail -f tool.log
在机器上运行以监视日志,但在午夜时tool.log
重命名为tool.log.<date>
,tail
继续观看重命名的文件。
我希望的是一个类似于 的工具tail
,但会继续监视名为 的文件tool.log
,而不是跟踪 inode。
这样的东西存在吗?如果没有,我可以为此用 Python 编写自己的代码。
不久前,我发现自己在将 Python 脚本从 Linux 迁移到 OS X 时发现的一些更改感到非常困惑......
在 Linux 上,如果 Python 脚本调用了 os.system(),并且调用进程被杀死,则被调用进程将同时被杀死。
然而,在 OS X 上,如果主进程被杀死,它启动的任何东西都会被留下。
在 OS X/Python 中有什么地方可以改变这种行为吗?
这会导致我们的渲染农场出现问题,其中进程可以从管理 GUI 中终止,但顶级进程实际上只是一个包装器,因此,渲染农场管理可能认为该进程已经消失并且机器被释放准备另一个任务时,实际的处理器密集型任务仍在运行,这可能会导致巨大的阻塞。
我知道我可以编写更多的逻辑来捕获终止信号并将其传递给子进程,但我希望它可以在较低级别启用。
我在这里在我们的系统上设置用户主目录时遇到了一些问题。
我们的服务器是 XServe,使用 Open Directory 来管理用户帐户。
我们的大多数工作站都是 OS X,但也有少数运行 Linux(Centos 5.3),并且随着时间的推移,我们预计 Linux 工作站的比例会增加(在某个时候,我们希望将服务器端转移到也适用于 Linux,但现在我们正在运行我们已经拥有的东西)
为了确保 Linux 和 OS X 工作站都能在同一位置看到用户的主目录,我使用 NFS 共享了主目录。
在服务器端,主目录存储在:
/Volumes/data/company_users
Run Code Online (Sandbox Code Playgroud)
它安装在工作站上以:
/mount/company_users
Run Code Online (Sandbox Code Playgroud)
这在 Linux 工作站上工作正常,但在 OS X 下有一些奇怪的地方。
对于通过 GUI 登录的用户,一切正常。但是,如果用户尝试通过 SSH 连接到他们不是主要用户的机器,他们通常无法访问自己的主目录。
当您通过 GUI 登录时,似乎 OS X 正在尝试对用户主目录安装点执行其他操作....
例如,在这台机器 (nv001) 上,我 (hugh) 登录到 GUI。
Last login: Mon Mar 8 18:17:52 on ttys011
[nv001:~] hugh% ls -al /mount/company_users
total 40
drwxrwxrwx 26 hugh wheel 840 27 Jan 19:09 .
drwxr-xr-x 6 admin admin 204 19 Dec …
Run Code Online (Sandbox Code Playgroud)