I was curious how to tell which programs are accessing a file (libobjc.A.dylib) in /usr/lib
This file seems to be the culprit in a bunch of Safari crashes, and I just wanted to know if and what other programs use it.
Also, I was curious what a good way to find out what files are being written to when I make a preference change in the GUI.. obviously some are just simple preference plist files that are named in a way that is easy to know what they do, but say I enable a different Ethernet controller, and I have no idea what system file is written to, is there a command I can use to see what file was most recently written to?
Do you want to know which programs are currently using libobjc.A.dylib or which use it in general? Chances are the answer is everything (or everything running). Which OS are you using?
Tiger, and I would like to know in general how to tell what programs use and what open programs are currently using libraries or other system files.. how do I go about finding that out?
otool is the OSX equivalent of Linux's ldd, with which you can query a binary file to see which dynamic libraries it depends on. As otheus points out, probably quite a lot will depend on libobjc.
fuser can tell you which currently active processes are using a file.
You can use lsof to show files opened by a process with option -p PID if you know its PID or -c command for the actual command. The option -r 1 option to continually update the information might be useful too.