Search notes:

/proc/sys/fs/binfmt_misc/register

/proc/sys/fs/binfmt_misc/register can be used to register a handler application to be invoked when a file with a given magic number or a given extension is executed.

Registering a handler for an extension

The following example demonstrates how a handler can be registered for files with the extension .tq84.
The (shell) script (i.e. the handler) which will be invoked.
echo '#!/bin/bash
echo "tq84 handler was called"
echo "argument/script is $1"' > tq84-handler
The handler must be executable:
chmod 755 tq84-handler
Root privileges are required for the registration:
sudo sh
Definition of some variables, mostly for better legibility:
regName=tq84reg
regType=E         # E = extension
extension=tq84
interpreter=/home/rene/tq84-handler
Finally: the registration:
echo ":$regName:$regType::$extension::$interpreter:" > /proc/sys/fs/binfmt_misc/register
Root privileges are not required anymore.
exit
Creating an (empty) file to test the registration:
touch     test.tq84
chmod 755 test.tq84
Executing the script:
./test.tq84
Unregistering the handler …
sudo sh
echo -1 > /proc/sys/fs/binfmt_misc/tq84reg
exit
… and cleaning up:
rm test.tq84 tq84-handler

Index