The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: William Stearns <wstearns@pobox.com>
To: John M Collins <jmc@xisl.com>
Cc: ML-linux-kernel <linux-kernel@vger.kernel.org>,
	William Stearns <wstearns@pobox.com>
Subject: Re: Program-invoking Symbolic Links?
Date: Thu, 5 Aug 2004 10:34:11 -0400 (EDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0408051027090.3293@sparrow> (raw)
In-Reply-To: <200408051504.26203.jmc@xisl.com>

Good morning, John,
	(My apologies for floating offtopic for kernel programming.  I 
wanted to provide a quick example for John and others interested in doing 
this so they could see this can be done outside of the kernel.)

On Thu, 5 Aug 2004, John M Collins wrote:

> (Please CC any reply to jmc AT xisl.com as I'm not subbed - thanks).
> 
> I wondered if anyone had ever thought of implementing an alternative form of 
> symbolic link which was in fact an invocation of a program?
> 
> Such a symbolic link would "do all the necessary" to fork off a new process 
> running the specified program with input or output from or to a pipe 
> depending on whether the link was opened for writing or reading respectively. 
> RW access would probably have to be banned and the link would usually be 
> read-only or write-only.
> 
> What I originally wanted was symbolic links (with "=>" as a possible 
> notation).
> 
> latest_version.tar => "tar cf - /latest/and/greatest"
> latest_version.tgz => "gzip -c latest_version"
> 
> and the like, which I could link on a website so I didn't have to run around 
> updating tar files/zip files/gzipped tar files etc each time I fix a bug in 
> some package.

	Is there any reason this couldn't be done in userspace by using 
named pipes instead of a new form of symlink?

#!/bin/bash

if [ ! -e livepipe ]; then
	echo Making livepipe >&2
	mkfifo livepipe
fi

while : ; do
	echo -n . >&2
	( date ) >livepipe
	sleep 1
done


	Run this, and then from another window, simply do:
cat livepipe
	To see the date, or whatever output is provided by the subshell.
	I'd like to sincerely request that further discussion _not_ 
continue on linux-kernel - please respond privately.
 	Cheers,
	- Bill

---------------------------------------------------------------------------
	"Eagles may soar, high and proud, but weasels don't get sucked
into jet engines."
(Courtesy of Mike Andrews <mandrews@termfrost.org>)
--------------------------------------------------------------------------
William Stearns (wstearns@pobox.com).  Mason, Buildkernel, freedups, p0f,
rsync-backup, ssh-keyinstall, dns-check, more at:   http://www.stearns.org
--------------------------------------------------------------------------

  reply	other threads:[~2004-08-05 14:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-05 14:04 Program-invoking Symbolic Links? John M Collins
2004-08-05 14:34 ` William Stearns [this message]
2004-08-05 15:08   ` John M Collins
2004-08-05 16:45 ` viro
2004-08-05 17:34   ` Måns Rullgård
2004-08-05 17:57     ` viro
2004-08-05 18:30       ` Måns Rullgård
2004-08-07 12:26       ` V13
2004-08-05 18:02 ` Rik van Riel
2004-08-07 16:17 ` Eric Lammerts
2004-08-12 21:02   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0408051027090.3293@sparrow \
    --to=wstearns@pobox.com \
    --cc=jmc@xisl.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox