0

I want to run a process when a file is written to a directory on Ubuntu. I understand I can write a monitor to do this. (ie not an event based trigger but a 'monitor').

To implement this - other than writing a for loop of infinite duration in C that polls the directory - what steps would you take to implement this?

What steps would you take to implement a monitor on Ubuntu that runs a process (another application) when a file is written to a directory?

(The reason that you'd do this is the that process writing the file is under a limited set of permissions (eg tomcat6) but the executed process (an existing software package) needs root (ie to run a process in a chroot jail))

Hawkeye
  • 2,699
  • 9
  • 30
  • 35

2 Answers2

1

If you're writing C, why not just use the inotify lib?

Or if you're just writing a simple shell script, you can use watch. Both are in all modern Linux variants.

gravyface
  • 13,957
  • 19
  • 68
  • 100
0

See this StackOverflow question:

https://stackoverflow.com/questions/511463/monitor-directory-for-changes

Alternatively if installing inotify is not possible checkout these programmatic means:

http://aplawrence.com/Unixart/watchdir.html

David Harrison
  • 441
  • 2
  • 5