August 23, 2010

While unemployed ...

... spending some "qualified management time" to recollect C programming skills.

I always loved writing shell scripts. Yet, data exchange between UNIX processes (and executed shell scripts in particular) has its own limitations. The only strong way to have full-fledged data exchange between 2 running shell scripts is through the file system. Not very fast, and you shouldn't forget to use the file locking mechanism to avoid race conditions :)

On the other hand, UNIX has old-fashioned shared memory API allowing processes to share in-memory data, and the similar-aged semaphores API to synchronize access to shared resources. Surprisingly, there is still no command-line utility reusing those APIs and providing synchronized access to in-memory data from shell script.

This ANSI C tool is for curious sysadmins and just unlucky scripts writers:
http://sourceforge.net/projects/shmmap/

Compiled, unit-tested, subversioned ... ufff :)

3 comments:

  1. Hey, Roman :)

    Nice to see you on blogspot :).
    Shouldn't you consider a http://github.com, for keep sources, builds there?

    It is a great communitity there and more easy way to get collaborators (as git provides great features for it).

    http://www.beletsky.net/2010/07/github-social-coding.html

    ReplyDelete
  2. Sasha, nice to see you as well. Github is really interesting resource as you described it in your post, I'll take a deeper look.

    ReplyDelete