在Unix中,如何注册以了解进程何时启动?
假设我想要一个后台进程,它在每次启动或退出进程时都会写入文件。任何流程(尽管我最感兴趣的是那些带有图形组件的流程)在Unix中,如何注册以了解进程何时启动?,unix,process,exec,fork,Unix,Process,Exec,Fork,假设我想要一个后台进程,它在每次启动或退出进程时都会写入文件。任何流程(尽管我最感兴趣的是那些带有图形组件的流程) 我不希望经常轮询正在运行的进程列表。我的想法是,我必须用自己的副本替换exec或fork,但我不确定这是怎么做到的。或者有更好的方法吗?我不清楚您到底想要什么,但听起来像是用户记帐或运行审计。 问题是这些都是特定于UNIX风格的。请告诉我们你有什么操作系统 是否要为所有用户提供此信息?一群人 一些UNIX风格允许您监视文件系统活动(如LinuxInotify),因此,如果您知道用户
我不希望经常轮询正在运行的进程列表。我的想法是,我必须用自己的副本替换exec或fork,但我不确定这是怎么做到的。或者有更好的方法吗?我不清楚您到底想要什么,但听起来像是用户记帐或运行审计。 问题是这些都是特定于UNIX风格的。请告诉我们你有什么操作系统 是否要为所有用户提供此信息?一群人
一些UNIX风格允许您监视文件系统活动(如LinuxInotify),因此,如果您知道用户将提前运行哪些代码,您可以尝试监视特定文件以执行。这可能比实施审计或某种会计更容易。我们需要更多的细节才能真正有所帮助。我认为在不修改内核的情况下,没有任何简单的方法可以监控这一点。感谢您的回复!我有Ubuntu10.10,但我希望它尽可能的通用。这将是针对单个用户的。一般来说,我只想知道进程何时启动,何时退出。我在原始文章中给出的示例应该足够一般,以满足我的需要:每当进程启动时,我都会将时间戳及其映像名记录到某个文件中。无论何时退出都是一样的。